Board logo

标题: [文件操作] 批处理如何批量将文件移动到名称中含有该文件名的文件夹里? [打印本页]

作者: zlj    时间: 2017-4-9 22:25     标题: 批处理如何批量将文件移动到名称中含有该文件名的文件夹里?

比如我在当前的新建文件夹内运行批处理,然后里面图片会移动到各自类似文件名的文件夹内, 如图所示,文件夹尾巴和图片的文件名一样。
作者: zlj    时间: 2017-4-9 22:33

各路大神们帮帮忙,谢谢
作者: /zhqsystem/zhq    时间: 2017-4-10 22:10

  1. for /f "delims=" %%i in ('dir/ad/b "%~dp0*.*"')do (
  2. set "#=%%~nxi"
  3. for /l %%n in (0,1,9)do set "#=!#:%%n=;%%n!"
  4. for /l %%n in (0,1,9)do set "#=!#:%%n;=%%n!"&&set "$=!#!"
  5. for /l %%n in (1,1,4096)do if defined $ (
  6.   for /f "tokens=1,* delims=;" %%y in ("!$!")do set "_=%%y"&&set "$=%%z"
  7. )
  8. if exist "%cd%\!_!.jpg" (
  9.   echo,%%i
  10. )
  11. )
复制代码

作者: ShowCode    时间: 2017-4-10 22:41

回复 3# /zhqsystem/zhq


你这思路有点绕弯,这样简单点:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /ad') do (
  4.     set "str=%%i"
  5.     set "str=!str:~-4!"
  6.     if exist "!str!.jpg" (
  7.         move /y "!str!.jpg" "%%i"
  8.     )
  9. )
复制代码

作者: /zhqsystem/zhq    时间: 2017-4-10 22:49

回复 4# ShowCode
已经尽力修复少量BUG了,直接-4不适用3位以内数字和高余4位的数字,图例中也没给出关键数值只能编写通用代码
作者: zlj    时间: 2017-4-14 14:59

回复 4# ShowCode


    非常感谢。。。解决了
作者: zlj    时间: 2017-4-14 15:00

回复 5# /zhqsystem/zhq


    非常感谢。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2