0
我有一個腳本要求用戶輸入,然後將其用作變量來驗證目錄路徑是否存在,但是當用戶輸入*時,驗證會在失敗時返回成功。停止*作爲用戶輸入輸入
輸入是通過Read-Host完成的,代碼示例如下。
$userinput = Read-Host -Prompt "Enter Value"
if(Test-Path -Path "c:\$userinput\") {"Valid"} else {"not valid"}
我有一個腳本要求用戶輸入,然後將其用作變量來驗證目錄路徑是否存在,但是當用戶輸入*時,驗證會在失敗時返回成功。停止*作爲用戶輸入輸入
輸入是通過Read-Host完成的,代碼示例如下。
$userinput = Read-Host -Prompt "Enter Value"
if(Test-Path -Path "c:\$userinput\") {"Valid"} else {"not valid"}
只是寫@ PetSerAl的評論作爲一個答案
-path
對待*作爲外卡,這可能會導致成功。 解決方案是使用-LiteralPath
,它按字面處理路徑。
$userinput = Read-Host -Prompt "Enter Value"
if(Test-Path -LiteralPath "c:\$userinput\")
{
"Valid"
}
else
{
"not valid"
}
'-Path' - >'-LiteralPath' – PetSerAl
謝謝,很簡單,現在你已經提到它了 – Josh