cscript-コンソールの同じラインに出力を印刷しますか?
-
04-10-2019 - |
質問
画面に行を出力する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();
所属していません StackOverflow