我正在使用 Windows Server 2008,我需要创建一个批处理文件 (.bat) 来在位于同一级别(没有子文件夹)的文件夹中的 20,000 到 30,000 个文件中搜索给定的字符串。
我一直在搜索和阅读,但没有找到任何可以做的事情。
尝试这个但没有成功:
@echo off for /r "delims=|" %%i in (*) do (
findstr /m /C:"34444" %%i
)
答案1
从批次
START cmd.exe /k "Findstr -m "34444" *.*"
从命令行
Findstr -m "34444" *.*"
同样从 powershell 创建名为 *.cmd 扩展名的批处理文件,其中包含以下内容。(记得将 gci 路径更改为“您的文件夹路径”。
@PowerShell -ExecutionPolicy Bypass -noexit -Command Invoke-Expression $('$args=@(^&{$args} %*);'+[String]::Join(';',(Get-Content '%~f0') -notmatch '^^@PowerShell.*EOF$')) & goto :EOF
gci -path 'c:\your folder path\' -fi '*' | Select-String -patt "34444" | select Filename, LineNumber | Format-Table -a
调用批处理文件*.cmd 来运行 powershell 搜索。