用于移动包含特定字符串

时间:2017-04-04 11:14:22

标签: windows batch-file batch-rename

大家好,刚刚运行了以下代码脚本,在目录中搜索包含字符串“ABC”的文件,并将它们移动到最后的目录。

for /f "eol=: delims=" %%F in ('dir /b^|find "ABC"') do move /Y "%%F"  "C:\DESTINATION_DIRECTORY"

想知道如何将其修改为不必从输入目录运行,即添加 SOURCE_DIRECTORY 变量,以便我可以从其他地方运行此脚本,但是要通过解析source_directory中

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

@echo off

set "root=c:\st"
pushd %root% && (
    for  %%# in ("*ABC*") do echo move /Y "%%~f#"  "C:\DESTINATION_DIRECTORY"
)
popd

for /f "tokens=* delims=" %%# in ('dir /b "%root%\*ABC*"') do echo move /Y "%root%\%%~nx#"  "C:\DESTINATION_DIRECTORY"

用于递归搜索:

for /f "tokens=* delims=" %%# in ('dir /b /s "%root%\*ABC*"') do echo move /Y "%%~f#"  "C:\DESTINATION_DIRECTORY"