如何在不将参数括在引号中的情况下运行 PowerShell 命令?

如何在不将参数括在引号中的情况下运行 PowerShell 命令?

当我尝试从 PowerShell 提示符运行带有命令行选项的程序时,PowerShell 最终会破坏该选项。为什么会发生这种情况?除了将选项括在引号中之外,还有其他方法可以阻止它吗?

例如,从 PowerShell 提示符:

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

myprog.exe最终得到两个参数:

  1. -文件=输入
  2. 。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,这可能会允许一种解决方法。

相关内容