Я хотел бы найти эту точную строку (кавычки, скобки, амперсанды и все) в файле, но, по-видимому, мне не удалось правильно экранировать строку, чтобы я мог найти совпадение:
this._name='Search',this._url='https://www.google.com/search?q={keywords}&client=firefox&ie=utf-8&oe=utf-8',"
Мои попытки на данный момент включают:
Select-String -Path "C:\textfile.txt" -Pattern 'this._name=''Search'',this._url=''https://www.google.com/search?q={keywords}&client=firefox&ie=utf-8&oe=utf-8'',"'
Select-String -Path "C:\textfile.txt" -Pattern "this._name='Search',this._url='https://www.google.com/search?q={{keywords{{&client=firefox&ie=utf-8&oe=utf-8',`""
и некоторые его варианты (включая экранирование косой черты с помощью обратной косой черты), ни один из которых не дает совпадения. (Это простой текстовый файл, созданный в блокноте, который содержит только первую строку выше, скопируйте и вставьте, чтобы быть уверенным).
Я также пробовал
$stuff = Get-Content -Path 'C:\textfile.txt'
$newstuff = $stuff -replace '[String above in various escape variations]'
(который я может захотеть использовать в конце концов), чтобы увидеть, будет ли он вести себя по-другому, но не повезло.
Кроме того, ручное форматирование / экранирование строк, подобных этим, занимает очень много времени (и, очевидно, подвержено ошибкам). Есть ли команда или инструмент, который можно использовать для быстрого создания полностью экранированных строк для использования со строками в одинарных и / или двойных кавычках в PowerShell?
Я благодарен за любую помощь. Спасибо.