質問

画面に行を出力するcscriptがある場合、各印刷の後に「ラインフィード」を避けるにはどうすればよいですか?

例:

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

予想される出力は次のとおりです。

..........

いいえ:

.
.  
.
.
.
.
.
.
.
.

過去には、「Up Arrow文字」ASCIIコードを印刷していました。これはcscriptで実行できますか?

答え

余分なcr/lfなしで、同じ行に印刷

for a=1 to 15
  wscript.stdout.write a
  wscript.stdout.write chr(13)
  wscript.sleep 200
next
役に立ちましたか?

解決

使用する WScript.StdOut.Write() それ以外の WScript.Print().

他のヒント

WScript.Print() 行を印刷すると、それを変更することはできません。その行に複数のものを持ちたい場合は、文字列を作成して印刷してください。

Dim s: s = ""

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

print s

それをまっすぐにするためだけに、 cscript.exe Windowsスクリプトホストのコマンドラインインターフェイスであり、VBScriptは言語です。

JavaScriptで次の「ログ」関数を使用して、WScriptまたはCScript環境のいずれかをサポートしています。ご覧のとおり、この関数は、できる場合にのみ標準出力に書き込まれます。

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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top