如果内容搜索字符串匹配则移动文件的批处理文件

时间:2017-09-27 08:21:17

标签: windows batch-file

我创建了一个小批量来搜索文本文件中的字符串,并将包含此字符串的文件移动到下一个创建的文件夹中,至少它应该如何工作,有人知道它是什么吗?

命令

@echo off

Echo FIND STRING AND MOVE FILES TO FOLDER

Echo.

set /p word=Search for: 
set /p folder=Folder Name: 

md %folder%

FOR /f "tokens=*" %%a IN ('FINDSTR /i /m "%word%" "*.txt"') DO (
IF %ERRORLEVEL% equ 0 MOVE %%a %folder% > Nul

Echo Done!

}

pause

要移至文件夹的文件

https://i.stack.imgur.com/lPDuc.png

谢谢!

1 个答案:

答案 0 :(得分:0)

以下是您提供的脚本的快速修复:

@Echo Off
Echo FIND STRING AND MOVE FILES TO FOLDER
Echo(

Set/P "word=Search for: "
Set/P "folder=Folder Name: "

If Not Exist "%folder%\" MD "%folder%" 2>Nul||Exit/B

For /F "Delims=" %%A In ('FindStr/ILMC:"%word%" *.txt 2^>Nul'
) Do Move "%%~A" "%folder%">Nul

Echo Done!

Pause

请记住,任何要求用户输入并且没有相对强大的方法来保护您的系统免受故意或意外输入的脚本都是有潜在危险的。