Frage

Wenn ich ein cscript dass Ausgänge Linien auf den Bildschirm, wie vermeide ich den „Zeilenvorschub“ nach jedem Druck?

Beispiel:

for a = 1 to 10
  WScript.Print "."
  REM (do something)
next

Die erwartete ausgegeben werden soll:

..........

Nicht:

.
.  
.
.
.
.
.
.
.
.

In der Vergangenheit habe ich verwendet, um den „Pfeil nach oben Zeichen“ ASCII-Code zu drucken. Kann dies in cscript getan werden?

ANTWORT

Drucken auf der gleichen Linie, ohne die zusätzlichen CR / LF

for a=1 to 15
  wscript.stdout.write a
  wscript.stdout.write chr(13)
  wscript.sleep 200
next
War es hilfreich?

Lösung

Verwenden WScript.StdOut.Write() statt WScript.Print().

Andere Tipps

WScript.Print() druckt eine Zeile, und Sie können das nicht ändern. Wenn Sie mehr als eine Sache auf dieser Linie haben, einen String zu bauen und drucken.

Dim s: s = ""

for a = 1 to 10
  s = s & "."
  REM (do something)
next

print s

Just dass gerade zu setzen, cscript.exe ist nur die Befehlszeilenschnittstelle für das Windows Script Host und VBScript ist die Sprache.

Ich benutze das folgende „Log“ -Funktion in meinem JavaScript entweder wscript oder cscript-Umgebung zu unterstützen. Wie Sie diese Funktion nur auf die Standardausgabe schreiben, wenn sehen, es kann.

var ExampleApp = {
    // Log output to console if available.
    //      NOTE: Script file has to be executed using "cscript.exe" for this to work.
    log: function (text) {
        try {
            // Test if stdout is working.
            WScript.stdout.WriteLine(text);
            // stdout is working, reset this function to always output to stdout.
            this.log = function (text) { WScript.stdout.WriteLine(text); };
        } catch (er) {
            // stdout is not working, reset this function to do nothing.
            this.log = function () { };
        }
    },
    Main: function () {
        this.log("Hello world.");
        this.log("Life is good.");
    }
};

ExampleApp.Main();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top