批处理文件,用于根据名称移动文件

时间:2017-10-18 07:12:41

标签: batch-file notepad++

我目前有超过100.000个文件(.bak),我需要将1000个文件移动到另一个目录。需要移动的文件有一个带有不同扩展名(.xml)的双文件,所以找到它们应该很容易,但对于我的生活,我无法弄清楚如何做到这一点。我没有使用.bat文件的经验,而且我已经在努力工作了一天。有人可以帮帮我吗?

快速举例:

第一档:

File1thatneedstomove.bak
File1thatneedstomove.xml
File1thatdoesntneedstomove.bak
File2thatdoesntneedstomove.bak
File3thatdoesntneedstomove.bak
File2thatneedstomove.bak
File2thatneedstomove.xml

所以我需要将第1和第6个文件移动到不同的文件夹,因为它们有一个双文件,其中只有句号背后的文本不同。

1 个答案:

答案 0 :(得分:2)

未经测试:

set "source_dir=C:\baks"
set "destination=C:\dest"

for %%a in ("%source_dir%\*bak") do (
   if exist "%%~dpna.xml" (
      echo move /y "%%~fa" "%destination%"
   )
)

它将回显所需的移动命令参数。如果可以,请删除括号中的行中的echo字。