Crie um arquivo em lote (.bat) para pesquisar uma string por meio de vários arquivos

0

Estou usando o Windows Server 2008 e preciso criar um arquivo em lote (.bat) para pesquisar uma determinada string em 20.000 a 30.000 arquivos localizados em uma única pasta no mesmo nível (sem subpastas).

Eu tenho procurado e lido por aí, mas não consegui encontrar nada para fazer isso.

Tentando com isso sem sucesso:

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

)
    
por Alvaro 15.01.2014 / 13:16

1 resposta

1

Do lote

START cmd.exe /k "Findstr -m "34444" *.*"

Da linha de comando

Findstr -m "34444" *.*"

também do powershell, criar arquivo em lote nomeado * extensão .cmd contendo o conteúdo a seguir. (lembre-se de alterar o caminho da gci 'caminho da sua pasta'.

@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

chame o arquivo em lote * .cmd para executar a pesquisa do powershell.

    
por 16.01.2014 / 23:55