powershell命令如果直接从CMD运行,则行参数会丢失

时间:2015-04-29 12:45:42

标签: powershell powershell-v2.0 powershell-v3.0

需要帮助

实施例

工作: C:\ SDK> powershell TESTPS1.ps1 a1 a2 a3

不工作: C:\ SDK>。\ TESTPS1.ps1 a1 a2 a3

在上面的示例中,两个命令都运行脚本,但第二个命令运行脚本而没有 powershell 作为前缀不会捕获args中的参数。

Powershell是ps1扩展程序的默认应用程序启动器。

脚本:TESTPS1.ps1

--------------------------------------------

write-host" Running Script"

write-host $ args

write-host"脚本已完成!!"

--------------------------------------------

1 个答案:

答案 0 :(得分:0)

。\文件将在默认应用程序中打开它。默认情况下,这应该是.ps1文件的notepad.exe。可能尚未设置.ps1文件的类映射以正确传递参数。启用此功能是一种潜在的安全风险,默认情况下不会启用此原因。

有关如何手动执行此操作,您需要查看设置自定义注册表类,如.ps1%1