之前我已经完成了一些小批处理文件,但从来没有在文件夹中读取任何所需的文件名。
我需要一个可以为我排序文件夹的批处理文件。
我需要它来查看文件夹,搜索每个文本文件,如果它包含“字符串”,然后将其移动到接受的文件夹中,如果没有,则将其移动到被拒绝的文件夹中。
任何想法如何解决这个问题?
我之前使用了以下内容来查找文本。
find /c "string" file
if %errorlevel% equ 1 goto
我不知道如何搜索文件夹中的每个文件,这些文件名每天都会更改。
答案 0 :(得分:2)
在您的问题陈述中,您说所有这些文件都是.txt
个文件。因此,我建议使用for loop
循环遍历目录中的每个.txt
文件,然后使用findstr
搜索预期的字符串。我在下面发布的代码将以这种方式工作。本质上,它将目录更改为桌面(或文件所在的位置),然后遍历每个.txt
文件并搜索字符串。 findstr
输出被重定向到nul
(以便更快地处理),如果成功,.txt
文件将移至C:\Users\Desktop\SuccessFolder
,否则此文件将放在C:\Users\Desktop\FailureFolder
中1}}。 (请记住搜索"string"
,原始位置和仍需要设置的2个文件夹位置。我相信此代码应该适用于您要完成的任务。如果需要对code =]
@Echo off
cd /D C:\Users\Desktop
FOR %%a in (*.txt) do (
findstr /C:"string" "%%a" >nul && move "%%a" "C:\Users\Desktop\SuccessFolder" || move "%%a" "C:\Users\Desktop\FailureFolder")