[英]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.