JavaScriptでバッチ(.bat)について
JavaScript(ジャバスクリプト:マイクロソフト版JavaScriptのJScript)でWindowsのバッチ(.bat)を実行させる場合、WSH(Windows Script Host)を使用します。 WSH(Windows Script Host)にはGUI版のwscript.exeとCUI版のcscript.exeの2つの実行ファイルがありますが、JavaScript(ジャバスクリプト)のバッチ(.bat)を実行させる場合、cscript.exeを使用します。
Javascriptのバッチ(.bat)実行方法
1.パラメータに「/e:jscript」を指定した「cscript.exe」コマンドとJavascript処理を記述したバッチ(.bat)ファイルを作成します。
2.作成したバッチ(.bat)ファイルを起動します。
3.バッチ(.bat)ファイル内のJavascript処理が実行されます。
主なCScript.exe のオプション
パラメータ | 説明 |
//E:engine | 指定したスクリプトエンジンでスクリプトを実行 |
//nologo | 実行時にバナーを表示 |
//logo | (既定値)実行時にバナーを非表示 |
Javascriptのバッチ(.bat)サンプル
@if (0)==(0) echo off for /R . %%i in (*.txt) do ( ECHO %%iを調べます。 cscript.exe //nologo /e:jscript "%~f0" "%%i" 1 >> log.log ) pause exit /b @end /*************************/ /* jscript処理 */ /*************************/ //デバッグ情報(true:出力,false:出力しない) println_flg=true; //js拡張 println = (function(str){ if(println_flg){ return function(str){WScript.Echo( str );}; }; return function(str){}; })(); //////////////////////////////////////////////////// //ビジネスロジックを無名関数として実行 //////////////////////////////////////////////////// (function(){ /*************************/ /* メイン処理:main処理 */ /*************************/ ( function (){ //引数のファイルpath取得 var input_file = WScript.Arguments.Item(0); //処理区分 var kbn = WScript.Arguments.Item(1); println('▽処理開始▽ 処理区分['+ kbn + "]" + input_file); if(kbn == 1){ submain(input_file); } println('△処理終了△ '); })(); /*************************/ /* サブルーチン */ /*************************/ function submain(input_file){ println('△サブルーチン△ '); } })();