创建批处理文件(.bat)以在多个文件中搜索字符串

创建批处理文件(.bat)以在多个文件中搜索字符串

我正在使用 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 搜索。

相关内容