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('△サブルーチン△ ');
}

})();

inserted by FC2 system