将以//
开头的参数(例如//ABC
)传递给VBS文件(Wscript)会导致"未知选项"错误。
如何捕获并处理此错误?
答案 0 :(得分:2)
看看
Option Explicit
Dim i
For i = 0 To WScript.Arguments.Length - 1
WScript.Echo i, WScript.Arguments(i)
Next
输出:
cscript 45765234.vbs one two three /a /b /c //D \\ABC
0 one
1 two
2 three
3 /a
4 /b
5 /c
6 \\ABC
e:\work\proj\soa\tmp
cscript 45765234.vbs one two three /a /b /c //D //ABC
Eingabefehler: Es wurde die unbekannte Option "//ABC" angegeben.
和
cscript
Syntax: CScript Skriptname.Erweiterung [Option...] [Argumente...]
Optionen:
//B Batch-Modus: Zeigt keine Skriptfehler und Aufforderungen an
//D Aktives Debuggen aktivieren
//E:engine Modul zum Ausführen des Skripts verwenden
//H:CScript Ändert den Standardskripthost auf CScript.exe um
//H:WScript Ändert den Standardskripthost auf WScript.exe um (Standard)
//I Interaktiver Modus (Standard; Gegenteil von //B)
//Job:xxxx Führt einen WSF-Auftrag aus
//Logo Zeigt das Logo an (Standard)
//Nologo Zeigt kein Logo an: Bei Ausführung wird kein Banner angezeigt
//S Speichert die aktuellen Befehlszeilenoptionen für diesen Benutzer
//T:nn Timeout in Sekunden: Maximale Zeit, die ein Skript laufen darf
//X Führt das Skript im Debugger aus
//U Unicode für umgeleitete E/A-Vorgänge von der Konsole aus verwenden
请注意:您无法在脚本中使用//或捕获它们,因为它们由主机(cscript.exe,wscript.exe)处理。但是,使用\会导致没有问题。