findstr 还有一个参数 /g:"查找关键词列表文件.lst" 很厉害,可以一次性查找写在文件里的多个关键词,似乎正切合本题。代码简版如下》- @echo off &set "outputDir=C:\Users\peng\Desktop\bat\copy"
- for /f "delims=" %%F in ('dir/s/b/a-d^|findstr /g:"test.txt" ') do (copy /y "%%~F" "%outputDir%">nul)
复制代码 如果被搜索目录文件的数据量较大(成千上万或更多),可改用以下代码》- @echo off &set "outputDir=C:\Users\peng\Desktop\bat\copy"
- dir/s/b/a-d|findstr /g:"test.txt">tmpF.lst
- for /f "delims=" %%F in (tmpF.lst) do (copy /y "%%~F" "%outputDir%">nul)
- del/q tmpF.lst
复制代码
|