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

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

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

PS Microsoft.PowerShell.CoreFileSystem::\machshare> .myprog.exe -file=input.txt

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

  1. -file=input
  2. .txt

мне нужно запустить его like:

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

или

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

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

23
задан Hennes
17.11.2022 7:14 Количество просмотров материала 2443
Распечатать страницу

1 ответ

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

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

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

2
отвечен sgmoore 2022-11-18 15:02

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх