2014-05-20 49 views
1

爲什麼我得到這個代碼的錯誤?術語'elseif'不被識別爲cmdlet,函數,腳本文件或可操作程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後重試。Powershell elseif不被識別

$EAFRID=($item.name.Split("_")[2]) 
     if ($EAFRID -match "EAFRID") 
     { 
      Write-Host "EAFR is $EAFR" 
     } 

    $AppID= ($item.name.Split("_")[1])     
      elseif($AppID -match "CPL") 
      {    
      Write-Host "CPL is $AppID" 
      } 

      else{  
      $OtherID = ($item.name.Split("_")[0]) 
          Write-Host "other is $OtherID" 
       } 
+1

也許你應該使用'else if'來代替? – Vesper

回答

2

因爲elseif在if塊之後沒有緊跟着 - 行$ AppID = ...就在這裏。像這樣的東西可能會起作用:

$EAFRID =($item.name.Split("_")[2]) 
$AppID = ($item.name.Split("_")[1]) 
if ($EAFRID -match "EAFRID") 
{ 
    Write-Host "EAFR is $EAFR" 
} 
elseif ($AppID -match "CPL") 
{    
    Write-Host "CPL is $AppID" 
} 
+0

這讓我通過了elseif現在我得到了相同的消息與其他 –

+0

@MrKWatkings我只是做了另一個elseif並且工作。 –