Как я могу выполнить команды PowerShell, не включая аргументы в кавычки?

Когда я пытаюсь запустить программу с параметром командной строки от подсказки PowerShell, PowerShell заканчивает тем, что исказил опцию. Почему это происходит? Там какой-либо путь состоит в том, чтобы остановить его помимо включения опции в кавычках?

Например, от подсказки PowerShell:

PS Microsoft.PowerShell.Core\FileSystem::\\\\mach\share> .\myprog.exe -file=input.txt

myprog.exe заканчивает тем, что получил два аргумента:

  1. - file=input
  2. .txt

Я должен выполнить его как:

.\myprog.exe "-file=input.txt"

или

.\myprog.exe '-file=input.txt'

вынудить это быть одним аргументом. Никакая другая оболочка не делает это.

4
задан 08.11.2014, 21:51

1 ответ

Это связано с первым символом параметра, т.е. -

Например, file=input.txt, /file=input.txt и --file=input.txt будут, вероятно, все работать, но не -file=input.txt.

Довольно много программ приняло бы /file=input.txt, оперативный из -file=input.txt, который может позволить обходное решение.

2
ответ дан 07.12.2019, 21:27

Теги

Похожие вопросы