簡體   English   中英

Powershell 命令行參數未填充

[英]Powershell command-line parameters not populating

在調用 Powershell 腳本以實際填充腳本中的參數變量時,我似乎無法獲得命令行參數。

我正在運行一個簡單的 Powershell 腳本,並傳入一個命令行參數。 我想要做的就是顯示參數。 但該參數似乎沒有被填充。

我嘗試了在網上找到的幾種變體,有些使用 args[0],但我似乎無法理解。 這應該是一件直截了當的事情! 我錯過了什么?

這是我正在運行的 .ps1 腳本,名為 MyScript1.ps1:

param(
[String]$p1
)
Write-Host "Param p1 = <$p1>"

我在命令提示符下這樣稱呼它:

H:\> MyScript.ps1 -p1 myvalue

我希望這能顯示這個:

參數 p1 = <myvalue>

但它顯示這個:

參數 p1 = <>

我究竟做錯了什么?

感謝 JosejZ 的評論,我已經解決了。

當我通過 Windows 命令提示符調用我的腳本時:

C:\>MyScript.ps1 -p1 myvalue

那么 p1 沒有填充。 但是,如果我像這樣通過 Powershell 調用腳本:

C:\>powershell -file ./MyScript.ps1 -p1 myvalue

然后 p1填充,我得到了預期的輸出。

我沒有意識到從 Windows 命令提示符調用腳本會導致與從 Powershell 命令提示符調用腳本不同的行為。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM