2017-08-18 6 views
-1

//(たとえば//ABC)で始まる引数をVBSファイル(Wscript)に渡すと、「不明なオプション」というエラーが発生します。"//"で始まる引数を処理します

このエラーをどのように捕捉して処理できますか?

+0

私のために働いて、どこに失敗するのかを教えてください(ソース、それをエラーと呼ぶ方法) – Marged

+0

@MC ND、参考になりました。それは魅力のように働く。 – Yaron

+0

@Marged、私は間違って\\私の質問で使用されます。そしてあなたは正しい:それは働く。 私は '/'に質問を編集しました。再度、感謝します。 – Yaron

答えて

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)によって処理されます。ただし、\を使用すると問題は発生しません。

+0

@Marged、 '// ABC'でVBScriptを呼び出すと' Unknown Option'エラーが出ます。 *** @ Ekkehard.Horner、私のスクリプトは、引数としてメモ帳++の現在の行を取得します。その "現在の行"は '/'で始まるかもしれません。ありがとうございました。 – Yaron

関連する問題