我想要一些特定扩展名的文件移动到目标目录。这是我的批处理文件的一部分:
move "%filepath%\*.txt" "%~dp0"
move "%filepath%\*.docx" "%~dp0"
move "%filepath%\*.pdf" "%~dp0"
move "%filepath%\*.jpg" "%~dp0"
move "%filepath%\*.png" "%~dp0"
上面的代码工作正常。但我想在一个循环中这样做。我想尝试以下内容:
set f_ext=*.txt *.docx *.pdf *.jpg *.png
for %%f in (%f_ext%) do (
move "%filepath%\%%f" "%~dp0"
)
上述代码仅在目标文件夹(%~dp0
)中已存在相同名称的文件时才有效,但不起作用。
那么如何使用不需要文件名的批处理在循环中移动某些扩展的文件?
答案 0 :(得分:2)
问题是for
中的通配符使其迭代当前活动目录中的文件
set f_ext=.txt .docx .pdf .jpg .png
for %%f in (%f_ext%) do (
move "%filepath%\*%%f" "%~dp0"
)
将for
中的通配符(从扩展集中删除)更改为move
命令。