Tente isto:
findstr /l /i /s /c:"key=\'"Smtp" *.config
você precisa escapar de posh e \
"'
mais informações aqui: link
Esta linha de comando funciona em cmd.exe:
findstr /l /i /s /c:"key=\"Smtp" *.config
No entanto, rodando no PowerShell 2 no Windows 7 Ultimate x64, o findstr parece congelar, não importa qual combinação eu use. Estou pesquisando um arquivo de brinquedo que criei (apenas um na pasta) que tem apenas essa entrada, por isso sei que não está demorando mais:
<add key="SmtpHost" value="localhost">
Mas essas variações que eu tentei nunca retornam no PowerShell (elas também não fornecem o prompt > > para indicar uma string não terminada).
findstr /l /i /s /c:"key='"Smtp" *.config
findstr /l /i /s /c:"'"" *.config
findstr /l /i /s /c:"key=""Smtp" *.config
findstr /l /i /s /c:'key="Smtp' *.config
Quando eu altero para usar expressões regulares, com um curinga, funcionará:
findstr /r /i /s /c:"key=.Smtp" *.config
Mas como faço para passar aspas duplas para o findstr no PowerShell com sucesso?
Tente isto:
findstr /l /i /s /c:"key=\'"Smtp" *.config
você precisa escapar de posh e \
"'
mais informações aqui: link
Existe alguma funcionalidade que você está recebendo do Findstr que você não pode obter dos próprios cmdlets do Powershell?
Get-ChildItem .\* -Include *.config -Recurse | Select-String '"key="Smtp"'