Powershell启动进程参数列表未正确处理冒号
因此,我尝试运行以下代码段:Powershell启动进程参数列表未正确处理冒号,powershell,Powershell,因此,我尝试运行以下代码段: 启动进程-文件路径“c:\support\mbbr.exe”-参数列表“register”,–键:ABCDE-ABCDE-ABCDE-ABCDE-ABCDE'-等待-非Windows 但是,它在冒号处停止处理参数,因为它将其视为保留字符。当我尝试使用“”转义时,它将转义字符视为普通字符,不允许我转义: Error: –key is an invalid option. The syntax of register command is: register [
启动进程-文件路径“c:\support\mbbr.exe”-参数列表“register”,–键:ABCDE-ABCDE-ABCDE-ABCDE-ABCDE'-等待-非Windows
但是,它在冒号处停止处理参数,因为它将其视为保留字符。当我尝试使用“”转义时,它将转义字符视为普通字符,不允许我转义:
Error: –key is an invalid option.
The syntax of register command is:
register [-key:<prodkey>]
错误:–密钥是无效选项。
寄存器命令的语法为:
寄存器[-键:]
我没主意了,有人有什么线索吗?直接运行它看起来很简单:
c:\support\mbbr.exe register –key:ABCDE-ABCDE-ABCDE-ABCDE
对于等待,这可能不那么烦人:
cmd /c start /wait c:\support\mbbr.exe register –key:ABCDE-ABCDE-ABCDE-ABCDE
让powershell等待的技巧有很多:使用invoke表达式运行,并在它返回时使用“cmd/c”捕捉它:
invoke-expression "cmd /c c:\support\mbbr.exe register –key:ABCDE-ABCDE-ABCDE-ABCDE"
如果必须在远程计算机上运行,则需要使用invoke命令:
invoke-command -computername <remote_hostname> -scriptblock {cmd /c c:\support\mbbr.exe register –key:ABCDE-ABCDE-ABCDE-ABCDE}
invoke命令-computername-scriptblock{cmd/c:\support\mbbr.exe寄存器–键:ABCDE-ABCDE-ABCDE-ABCDE}
HTH正如您在评论中所指出的,此命令应该可以工作:
C:\support\mbbr.exe register -key:ABCDE-ABCDE-ABCDE-ABCDE
如果mbbr.exe
的路径和/或文件名包含空格,请使用调用/调用运算符(&
):
您不需要启动进程
或cmd.exe
由于mbbr.exe
似乎仍然会给出上述命令的错误,请尝试引用其-key
参数,如下所示:
C:\support\mbbr.exe register "-key:ABCDE-ABCDE-ABCDE"
或者这样:
C:\support\mbbr.exe register -key:"ABCDE-ABCDE-ABCDE"
如果这些命令不起作用,可能是来自可执行文件的帮助消息不正确(我们无法提供帮助,因为我们没有您的可执行文件)。是什么导致您得出结论“它将其视为保留字符”?(当你说某件事不起作用时,你必须说它是如何起作用的)用当前结果更新了原始帖子。如果你使用
和“c:\support\mbbr.exe“register”-key:ABCDE-ABCDE-ABCDE-ABCDE-ABCDE”
,它会起作用吗?我想这不会起作用c:\support\mbbr.exe register–key:ABCDE-ABCDE-ABCDE-ABCDE-ABCDE
Using&返回相同的错误。很遗憾,我需要-wait标志才能运行后续命令。无法让它们异步运行。cmd的问题是,当我需要它运行隐藏时,它仍然会弹出一个窗口。该链接还有其他多种等待方式,如| out null
。也许你应该更新问题,说你想等待,但不想弹出窗口。同样的问题在这里,cmd打开一个窗口,我需要运行hidden。Invoke Expression
在这种情况下是不必要的(事实上,)。重新测试后,/mbbr.exe register–key:ABCDE-ABCDE-ABCDE-ABCDE-ABCDE
似乎给了我同样的错误,它没有在冒号后面听参数。
C:\support\mbbr.exe register -key:"ABCDE-ABCDE-ABCDE"