我充其量是批处理脚本的新手,因此我们将不胜感激。我已经拼凑了以下内容,但它并没有完全按照需要工作。我需要它来搜索文件夹及其子目录中内容中没有名称 Brian 的 html 文件,并自动删除这些文件。最大的问题是,有数千个文件,几乎每个文件中都有另一个人的名字“Brianne”(当然,他们的名字必须如此相似,为什么要这么简单)。看来我已经通过使用 SET wordToSearch="
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET pathToFolder="FullPathHere"
SET wordToSearch="\<Brian\>"
FOR /F "tokens=*" %%F IN ('dir %pathToFolder% /b *.html') DO (
findstr /IP %wordToSearch% "%pathToFolder%\%%F">nul
IF !ERRORLEVEL!==1 (
DEL /Q "%pathToFolder%\%%F"
)
)
我尝试将 findstr 选项更改为 /SIP,但它仍然没有按应有的方式遍历子目录。
我自己解决了,但我想我会分享工作脚本,以防其他人正在寻找这样的东西:
@echo off
setlocal
set "targetdir=PathToFolder"
pushd %targetdir%
for /f "delims=" %%a in ('dir /s /b /a-d *.*') do (
findstr /s /i /p /v "\<brian\>" "%%a" >nul
if not errorlevel 1 del "%%a"
)
popd
endlocal