【发布时间】:2018-02-22 14:09:05
【问题描述】:
我有一个奇怪的问题。我正在尝试使用 Powershell 使用此 1 衬垫关闭手柄:
(&"D:\handle.exe" -p "–c C –p 3348 -y")
我收到以下回复:
找不到匹配的句柄。
当我在命令提示符中运行完全相同的命令时
handle.exe -c C -p 3348 -y
我明白了:
手柄关闭。
我正在以管理员身份运行 Powershell 和命令提示符。
编辑:注意:我可以在 Powershell 命令窗口中运行相同的命令,并获得与在普通 Windows 命令提示符中相同的预期结果。
【问题讨论】:
-
-p将解析为-PipelineVariable通用参数,删除它 -
我试过了 (&"D:\TeamCity\Handle\handle.exe" "–c C –p 3348 -y") 还是一样
-
外部(即未内置于 PowerShell)命令通常不需要任何特殊处理尝试使用
&"D:\handle.exe" –c C –p 3348 -y:我怀疑handle正在寻找进程名称“–c C –p 3348 -你”。当它们需要分开时,只将参数放在引号中会将它们作为单个参数传递 -
谢谢理查德,也试过了,但它没有将任何参数传递到句柄 exe 中。
-
注意:我可以在 Powershell 命令窗口中运行相同的命令提示符命令,并获得与正常命令提示符相同的预期结果。