正如标题所提到的那样,我正在寻找一种方法来创建一个批处理文件,该文件在我的C盘上的文件夹中的.txt文件中查找特定字符串。然后需要将包含此字符串的任何txt文件移动到其他文件夹。
我可以让我的批处理文件找到项目,我只是无法弄清楚如何移动包含字符串的所有文本文件。
更新:我现在可以使用下面提供的解决方案来移动文件。
由于
答案 0 :(得分:0)
基本上您需要做的是从命令中捕获输出。这是通过FOR / F命令完成的。
C:\BatchFiles\Tyler>echo Thread aborted>file.txt
C:\BatchFiles\Tyler>dir /b
backup
file.txt
C:\BatchFiles\Tyler>FOR /F "delims=" %G in ('findstr /m /C:"Thread aborted" *.*') do @move "%G" backup
1 file(s) moved.
C:\BatchFiles\Tyler>dir /b
backup
C:\BatchFiles\Tyler>dir /b backup\*.*
file.txt
C:\BatchFiles\Tyler>
只是为了告诉你这确实有效。我正在从命令行运行所有内容,以显示输出。
varchar(max)
答案 1 :(得分:0)
将此脚本保存到 sorting.bat ,从打开的Cmd提示符运行,如果有任何错误,请告诉我。根据您的问题,您似乎没有dir结构绕过目标文件的文件夹。此代码还将帮助运行类似任务并需要查看目录结构的用户:
@echo off
set "sourcedir=C:/Provider.Rates" & set "destindir=C:/Aborted.Threads"
for /R "%sourcedir%" %%G in (*.txt) do (
find /i "Thread Aborted" "%%G" >nul 2>&1 && move /y "%%G" "%destindir%\%%~nxG" >nul)
echo/ & echo Sorting completed.
timeout 5
exit /b