Antworten:
In Windows ist eine ausführbare Datei entweder eine Konsolenanwendung oder eine Windows-Anwendung (oder eine SFU- oder native Anwendung, aber das spielt hier keine Rolle).
Der Kernel überprüft ein Flag in der ausführbaren Datei, um festzustellen, welches.
Bei der Verwendung von Ausgang CreateProcessWinAPI Funktion, wenn es dich um eine Konsolenanwendung ist, wird der Kern ein Konsolenfenster dafür zu erstellen , wenn die Eltern - Prozess nicht ein hat, und befestigen die STDIN, STDOUTund STDERRStröme an die Konsole.
Wenn es sich um eine Windows - Anwendung ist, wird keine Konsole erstellt und STDIN, STDOUTund STDERRwird standardmäßig geschlossen werden.
WSCRIPT.EXEund CSCRIPT.EXEsind fast genau identisch, außer dass eine als Windows-Anwendung und die andere als Konsolenanwendung gekennzeichnet ist (Ratet mal, in welche Richtung!).
Die Antwort lautet also: Wenn Ihr Skript ein Konsolenfenster haben soll, verwenden Sie CSCRIPT.EXE. Wenn Sie möchten, dass es KEIN Konsolenfenster gibt, verwenden Sie WSCRIPT.EXE.
Dies wirkt sich auch auf einige Verhaltensweisen aus, z. B. den Befehl WScript.Echo. In a CSCRIPT.EXEschreibt dies eine Zeile in das Konsolenfenster. Darin WSCRIPT.EXEwird eine Messagebox angezeigt.
Für Ihre Bewerbung schlage ich vor CSCRIPT.EXE. Ich denke, Sie sollten sich auch PuTTY und PLink ansehen, und das sollten Sie auch hier sehen: