2016-03-17 66 views
0

我的問題是在問候我previous question調用2個變量

我得到了我剛纔的問題的解決,但是當我在變量傳遞我的價值,這是行不通的。 的Start-Process不能觸發該批處理文件。我假設它不承認變量"$Gros"

$version = Read-Host - Prompt 'Enter the version to copy' 
$Gros="D:\homeware\Gros\$version" 
Start-Process $Gros\install.bat -wait -WorkingDirectory "$Gros" 

錯誤:

Start-Process : A parameter cannot be found that matches parameter 
name 'WorkingDirectory "$Gros"'. 
At D:\homeware\Scripts\OMS_deploy.ps1:66 char:64 
+ Start-Process $Gros\install.bat -wait -WorkingDirectory "$Gros" <<<< 
    + CategoryInfo   : InvalidArgument: (:) [Start-Process], ParameterBindingException 
    + FullyQualifiedErrorId : NamedParameterNotFound,Microsoft.PowerShell.Commands.StartProcessCommand
+1

你肯定'-WorkingDirectory'和' 「$格羅斯」 之間的空間'是正常的嗎?當我把'U + 00A0'(* No-Break Space *)而不是普通的時候,我可以重現那個錯誤信息。 – PetSerAl

+0

是的空間是必要的,它在命令行中工作正常。只有當我作爲腳本執行時,它不起作用。 – samjerry

+1

@samjerry這不是問題。是'-WorkingDirectory'和'「$格羅斯」'一** **定期空間(ASCII字符0×40)之間的空間,或者是一些其他的空白字符,如不間斷空格(Unicode字符U + 00A0)因爲PetSerAl懷疑?該錯誤消息明確表示,PowerShell的解釋整個字符串'-WorkingDirectory「$格羅斯」'作爲一個參數名稱,而不是與它的參數的參數。 –

回答

0

嘗試

Start-Process $Gros\install.bat -WorkingDirectory $Gros -wait 
+0

謝謝黛維·瓊斯,我的語法是正確的,這只是大概的空間。 – samjerry