Я довольно новичок в Powershell ... и мне было интересно, как я уверенно скрываю кавычки в значении -param.Escaping цитаты и двойные кавычки
$cmd="\\server\toto.exe -batch=B -param="sort1;parmtxt='Security ID=1234'""
Invoke-Expression $cmd
Это, конечно, не удалось, я пытался избежать кавычки (одинарные и двойные) с помощью экранирующего символа `и сделал различные комбинации, но ничего не работает. Пожалуйста, помогите
Спасибо вам за ответ. начальный процесс, независимо от того, как я пытался всегда жаловаться. Я сделал cmd/C $ cmd (где $ cmd - моя вся команда, включая .exe.). Я использую powershell 2.0. Даже эта строка не срабатывала, если я правильно помню. – eetawil
Это кажется излишне сложным по сравнению с использованием backtick ('), чтобы избежать двойных кавычек. – saille
Это прекрасно работает, если вы следуете правилам, которые он ожидает. Первый символ @ должен находиться в строке 1, ваш параметр должен быть в строке «2», а финал «@ должен быть включен» в строке 3 ». Финал '@ не может иметь пробелов перед ним. Человек этот синтаксис придирчивый! –