如何查找不包含字符串的所有文件?

时间:2015-06-13 13:31:52

标签: batch-file for-loop

我在这个网站上找到了以下代码:

@echo off
setlocal
set "rootFolder=c:\yourRootPath"
set "fileMask=*.txt"
set "outFile=missing.txt"

>"%outFile%" (
  for /d %%D in ("%rootFolder%") for %%F in ("%%D\%fileMask%") do (
    findstr /nbr "$O..*\.MIN%%" "%%F" | findstr /bl "1:" >nul || echo %%F
  )
)

但是,当我运行批处理文件时,我收到以下错误:“for this此时出乎意料。”

我的研究表明,这通常是由于没有使用双%%引起的,但显然事实并非如此。 我想这很简单,但我无法解决,请问有什么提示吗?

1 个答案:

答案 0 :(得分:0)

此方法应该运行得更快:

<dependency>
   <groupId>nz.ac.waikato.cms.weka</groupId>
   <artifactId>weka-stable</artifactId>
   <version>3.6.12</version>
</dependency>

@echo off setlocal set "rootFolder=c:\yourRootPath" set "fileMask=*.txt" set "outFile=%~P0missing.txt" cd "%rootFolder%" findstr /S /M /B /R "$O..*\.MIN%%" "%fileMask%" > temp.tmp ( dir /S /A-D /B "%fileMask%" | findstr /V /G:temp.tmp ) > "%outFile%" del temp.tmp 文件存储在批处理文件的同一文件夹中,该文件不能位于搜索文件的文件夹中!