2016-03-19 5 views
0

VBSスクリプトを作成していて、LENコマンド(多数のうちの1つ)を使用してホスト名が正しく設定されているかどうかを確認します。ホスト名はABCD12LENを使用してホスト名を修飾すると正しいエラーです

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 

またはすべてを1つにまとめて

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