set hensu=google. echo メインプログラムの最後=%hensu% goto :eof :subroutine . バッチファイルやサブルーチンを呼び出すコマンドとして「call」コマンドの他に「start」コマンドというものがあります。この2つのコマンドは使い方は同じで引数に呼び出したいバッチファイルやサブルーチンを指定します。 バッチファイルから実行体(exe)を実行→結果を取得→結果をもとに処理 ということをするバッチファイルについてです! 制約はあるものの、コレによってバッチファイルでできることの幅は広がりますね! バッチファイルだけ終了させる. 戻り値は call 後、サブルーチン側でセットした値にアクセスして入手 ; 心がけ. バッチファイルの中から別のバッチを呼び出すことも出来る。 [2007-03-07] バッチの中で直接バッチファイル名を書くと、そのバッチへ制御が移る。すなわち、 呼び出したバッチが終了しても呼出元のバッチには復帰しない 。 他のバッチへ移る.bat: exit /b.

スクリプト例ではないですが、よく使う「(バッチファイルとの付き合い方に関する)心がけ」についてもまとめてみました。 とりあえずググる. バッチファイルでちょっとしたバッチ処理やラッパーを書くときに「よく使ってるなーこれ」という書き方を、備忘録がてらまとめてみました。 テンプレート(1) 引数を受け取らないバッチファイル. call [バッチファイル名] [バッチファイルに渡すパラメータ] について、見てみますね。 例えば以下のようなバッチファイルがあったとします。 hoge.bat @echo off echo "hoge:01" call hoge_sub echo "hoge:02" pause hoge_sub.bat @echo off echo "hoge_sub:01" バッチファイル内であるアプリケーションの戻り値(返り値)を取得したい場合は そのアプリケーションを実行した後 %ERRORLEVEL% で取得できる 仮に 何かファイルを渡して、処理が成功すれば 0 が返り、失敗すれば 1 が返る hoge.exe というのがあったとして call :subroutine . exitはcmd.exeそのものを終了させるコマンドなので、基本的にそのままは使わないと思う。 例えばcallで呼び出されることが前提のバッチファイルだと、呼び出し元のバッチファイルまで終了させるわけには行かないので、 endlocal . そらで書けるくらいよく使います。 内容 タスクスケジュールに別サーバーへログファイルを移動するバッチを登録する、などよくある話です。 例えば、aサーバーにはログがたまっていて、aサーバー上では毎朝3時にbサーバーのバックアップ … Windows、バッチファイルの戻り値(ERRORLEVEL)に文字列を設定する; Windows、指定時間経過後にPCをシャットダウンするバッチファイルを作成する; Windows、バッチファイル(.bat)でラベルに対する「goto」と「call」の違い rem 2回目の変数の設定. いつも大変御世話になっております。WindowsVISTA環境で以下バッチ【ABC.bat】が稼動します。"ABC.bat"-----@ECHO ONset bat_name="ABC.bat"call DEF.batecho %bat_name% は戻り値 … echo サブルーチンの中=%hensu% echo; rem ここまでローカル変数. バッチファイルから Powershell の処理を記述したファイルを実行し、戻り値を取得する場合、普通に %ERRORLEVEL% を参照すると 0 または 1 の値しか取得することができません。( 0 以外の値は全て 1 として返されます。 setlocal . rem ここからローカル変数 .