Powershell param只是不起作用,它让我疯狂

时间:2016-11-02 19:20:54

标签: powershell parameters arguments param ps1

我正在尝试在Powershell 5中使用param 我的脚本如下:

.\test.ps1 -IP 10.10.10.10 -Time 10:10
.\test.ps1 -IP "10.10.10.10" -Time "10:10"

假设脚本名为test.ps1, 我试过用两种方式运行它:

cmdlet test.ps1 at command pipeline position 1
Supply values for the following parameters:
IP:

这些都不起作用。 相反,它会提示我输入IP值。 错误如下:

{{1}}

显然,这个小脚本只是将一段代码集成到更大的脚本系统中的一个阶段。 帮助将不胜感激,经过几个小时的搜索后,我看不出我做错了什么。

1 个答案:

答案 0 :(得分:2)

我可以确认这在我的电脑上运行。我不得不将目录切换到(例如:cd(脚本所在的目录).ps目录所在的目录。我从Windows命令窗口运行它。

powershell.exe .\test.ps1 -IP "10.10.10.10" -Time "10:10"

这应该也可以。

powershell -File C:\somedirectory\test.ps1 -IP "10.10.10.10" -Time "10:10"

也可以通过.bat文件启动它。比如test.bat

In command prompt C:\>test.bat "10.10.10.10" "10:10"

以下.bat文件的内容。

@ECHO OFF
PowerShell -File C:\somedirectory\test.ps1 -IP %1 -Time %2