Я использую Windows Server 2008 и мне нужно создать пакетный файл (.bat) для поиска заданной строки в 20 000–30 000 файлов, расположенных в одной папке на одном уровне (без подпапок).

Я искал и читал вокруг, но я не мог найти ничего, чтобы сделать это.

Попытка это с этим без успеха:

@echo off for /r "delims=|" %%i in (*) do  (    
    findstr /m /C:"34444" %%i

)

1 ответ1

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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .