Wenn Sie es brechen, dieses Unterseeboot niederwerfen ist nicht zu schlecht zu verstehen, mich lassen sehen, wenn ich eine Spitze erklären kann:
Sub ForceCScript ()
Wenn InStr (UCase (WScript.FullName), „CSCRIPT.EXE“) = 0 dann
Schwaches objShell: objShell = CreateObject („WScript.Shell“) einstellen
objShell.Run „%comspec% /k cscript.exe“ u. Chr (34) u. WScript.ScriptFullName u. Chr (34), 1, falsch
WScript.Quit ()
Beenden wenn
Unterseeboot beenden
O.K., das erste, WENN Aussage feststellt, wenn WSCRIPT.EXE oder SCRIPT.EXE z.Z. diesen Index laufen lässt. Er tut den, indem er einen Systemswert von WScript.Fullname bezieht und dann nach CSCRIPT.EXE in ihm sucht. Wenn es nicht gefunden, dann müssen wir Laufen stoppen und Wiederanlauf in CSCRIPT.EXE Modus. So das Innere, WENN Block, wir eine Handgriffoberseite das Shell opbject definieren und benutzen dann das Durchlauf methond, das es zur Verfügung stellt, um ein vollziehbares zu starten. Das durchführt einen Befehl, als ob er an einer Befehlszeile Aufforderung eingeführt und im Allgemeinen diesen Index ein zweites Mal laufen lässt, aber dieses mal, das ihn unter CSRIPT laufen lässt. Nachdem es beginnt, dass neue Kopie des Indexes es beendigt, um diese laufende Kopie zu beenden tut, die nicht CSCRIPT verwendete.
O.K., an zum Rest der Frage. Wenn Sie festlegend sind, oder versuchend, durchzuführen vbs script, können Sie entweder gerade „gelaufen“ der filename.vbs Akte, oder Sie können etwas wie cscript filename.vbs ausdrücklich tun. Wenn Sie laufen lassen, was häufig als Reihenindexe gekennzeichnet, die nicht Fenstertätigkeit mit.einbeziehen, dann benutze ich gewöhnlich eine Befehlszeile (die im Fensterscheduler sein könnte), von cscript //nologo filename.vbs, das von allen möglichen parms gefolgt, die, ich zu ihm führen muss und wenn es gewünscht, vom Umadressieren des Ausganges zu einer Textdatei. Dieses hält sie von viel überhaupt anzeigen zum Schirm.
Wenn Sie nicht, der Index laufen gelassen und dort sind eine Möglichkeit, die er durch ein doppeltes Klicken des Benutzers auf ihm laufen gelassen werden kann oder gerade hereinkommendes filename.vbs an einer Befehlszeile können und Sie sie in cscript laufen wünschen entweder oder wscript, dann kann das UNTERSEEBOOT nützlich sein, es in den gewünschten Abspielmodus zu zwingen.
~bp