2016-03-19 40 views
0

我正在寫一個VBS腳本,並希望使用LEN命令(作爲其中之一)檢查主機名設置是否正確。主機名是ABCD12使用LEN限定主機名是正確的錯誤

ComputerName正在返回正確的值,並且主機名以ABCD開頭,因此它會繼續 - 但是,即使主機名長度爲6個字符,LEN也會返回值0(不是6)。爲什麼是這樣?

If left(ucase(ComputerName),4) = "ABCD" then 
    else  
Wscript.quit(666) 

End if 

iLen=Len(ComputerName) 

If ilen <> 6 Then 
    else 
Wscript.quit(666) 

End if 

回答

1

你的腳本工作

它只是你惹了這個If ilen <> 6 Then

應該

If left(ucase(ComputerName),4) = "ABCD" then 
    else  
Wscript.quit(666) 

End if 

iLen=Len(ComputerName) 

If ilen = 6 Then 
    else 
Wscript.quit(666) 

End if 

但你會更好像這樣的代碼,它的方式更容易理解

If left(ucase(ComputerName),4) <> "ABCD" then 
    Wscript.quit(666) 
End if 

If Len(ComputerName) <> 6 Then 
    Wscript.quit(666) 
End if 

or all in one

If (left(ucase(ComputerName),4) <> "ABCD") or (Len(ComputerName) <> 6) then 
    Wscript.quit(666) 
End if 
相關問題