
По сути, я хочу передавать команды <command>
, как если бы они выполнялись в сеансах PowerShell PS >
, чтобы они вызывалисьCreateProcess
powershell -Command <command>
Вышесказанное не работает во всех случаях. Например, это не работает
powershell -Command gci "C:\Program Files"
Но это работает.
powershell -Command choco -v
решение1
Проверьте эффективную команду, переданную powershell
с помощью {}
синтаксиса блока скрипта, следующим образом:
powershell -Command {gci "C:\Program Files"}
gci C:\Program Files
Похоже, что cmd
переводчикотъедает двойные кавычки. Следовательно, вам нужнопобегпробел внутри C:\Program Files
строки, например, следующим образом:
powershell -Command gci "C:\Program` Files" # using backtick
или с помощью кавычек (любая из следующих командных строк должна подойти):
powershell -Command gci """C:\Program Files""" # inner double quotes
powershell -Command gci "'C:\Program Files'" # inner single quotes
powershell -Command gci 'C:\Program Files' # single quotes