当我尝试从 PowerShell 提示符运行带有命令行选项的程序时,PowerShell 最终会破坏该选项。为什么会发生这种情况?除了将选项括在引号中之外,还有其他方法可以阻止它吗?
例如,从 PowerShell 提示符:
PS Microsoft.PowerShell.Core\FileSystem::\\\\mach\share> .\myprog.exe -file=input.txt
myprog.exe
最终得到两个参数:
- -文件=输入
- 。TXT
我需要像这样运行它:
.\myprog.exe "-file=input.txt"
或者
.\myprog.exe '-file=input.txt'
强制将其作为一个参数。没有其他 shell 会这样做。
答案1
这与参数的第一个字符有关,即 -
例如 file=input.txt , /file=input.txt 和 --file=input.txt 可能都可以工作,但 -file=input.txt 则不行。
很多程序会接受 /file=input.txt 来代替 -file=input.txt,这可能会允许一种解决方法。