Windows
如何轉義雙引號字元以在 PowerShell 命令行上的 findstr 中使用?
此命令行在 cmd.exe 中執行:
findstr /l /i /s /c:"key=\"Smtp" *.config
然而,在 Windows 7 Ultimate x64 上的 PowerShell 2 中執行時,無論我使用哪種組合,findstr 似乎都會凍結。我正在搜尋我創建的一個玩具文件(文件夾中只有一個),其中只有這個條目,所以我知道它不僅需要更長的時間:
<add key="SmtpHost" value="localhost">
但是我嘗試過的這些變體永遠不會在 PowerShell 中返回(它們也不會給出 >> 提示來指示未終止的字元串)。
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
當我將其更改為使用帶有萬用字元的正則表達式時,它將起作用:
findstr /r /i /s /c:"key=.Smtp" *.config
但是如何成功地將雙引號傳遞給 PowerShell 中的 findstr 呢?
試試這個:
findstr /l /i /s /c:“key=`“Smtp” *.config
你需要從豪華和
\
“`
您是否從 Findstr 獲得了一些無法從 Powershell cmdlet 本身獲得的功能?
Get-ChildItem .\* -Include *.config -Recurse | Select-String '"key="Smtp"'