親バッチ(base1.bat)から、子バッチ(base2.bat)を呼びだして、exe(test.exe)を呼び出す
///////////////////////////////////////////// base1.bat /////////////////////////////////////////
echo "親バッチから、子バッチを呼び出すまたはパラメータを渡す"
pause
set BAT_FOLDER_PATH=C:\Users\XXXX\Desktop\バッチ\
set BAT_NAME=base2.bat
Rem パラメータの設定
set parVal1=aaaa
set parVal2=bbbb
cd/d %BAT_FOLDER_PATH%
CALL %BAT_NAME% %parVal1% %parVal2%
///////////////////////////////////////////// base2.bat /////////////////////////////////////////
Rem 說明:batファイルから、外部exeを呼び出す
echo "batファイルから、外部exeを呼び出すサンプル"
set title = メールアドレス変更登録用の取り込み
Rem ①バッチファイルとexeファイルを同じいフォルダ下に置くの場合
Rem set exepath=C:\XXX\Release\test.exe
Rem start "" %exepath%
Rem pause
Rem ②バッチファイルとexeファイルを分けて置くの場合
set exe_folder_path=C:\XXX\Release
set exe_name=test.exe
Rem パラメータの取得と設定
Rem IF "%1" == "" (echo 起動パラメータ指定エラー【1】) & (GOTO EXIT_BAT)
Rem IF "%2" == "" (echo 起動パラメータ指定エラー【2】) & (GOTO EXIT_BAT)
Rem IF "%4" == "AUTO" (
Rem a.exe -s1 -t%1 -a
Rem b.exe -s1 -t%1 -a
Rem ) ELSE (
Rem a.exe -s1 -t%1 -z%2
Rem b.exe -s1 -t%1 -z%2
Rem )
set parVal3=%1%
set parVal4=%2%
cd/d %exe_folder_path%
start "" %exe_name% %parVal3% %parVal4%
:EXIT_BAT
////////////////////////////////////////////////// サンプルファイル.bat(プロパティ検証)
echo off
Rem IF NOT %6=="Y" GOTO EXIT_BAT
Rem 実行時間の設定********
DATE /T
TIME /T
set run_time=%DATE% %TIME%
pause
echo 実行時間:%run_time%
Rem 現在のドライブ********
set current_driver=%~d0
echo 現在のドライブは: %current_driver%
Rem %~dp0:現在のディレクトリ********
set current_path=%~dp0
echo 現在のディレクトリ:%current_path%
pause
if "%current_path%" == "C:\Users\tP02727\Desktop\バッチ\" (
GOTO prf1
) ELSE (
GOTO prf2
)
:prf1
echo "同じい筈です"
Rem Timestamp
SET YMD=%date:~-10,4%%date:~-5,2%%date:~-2,2%
echo %YMD%
Rem SET YMD=%Date:~10,4%%Date:~4,2%%Date:~7,2%
SET HMS=%Time:~0,8%
echo %HMS%
SET HMS=%HMS::=%
echo %HMS%
SET HMS=%HMS: =0%
echo %HMS%
SET EXEC_DTM=%YMD%%HMS%
echo %EXEC_DTM%
SET HMS_TMP=%time: =0%
SET HMSF=%HMS_TMP::=%0
Rem 実行情報ファイルを作成して、情報をresult.txtに出力する >>:後ろに追加する、>:上書きする********
echo %YMD%>C:\Users\tP02727\Desktop\バッチ\result.txt
GOTO EXIT_BAT
pause
:prf2
echo "違う"
pause
:EXIT_BAT
echo "終了しました"
set /p choice=当前時間表示する?(y/n)
if /i not %choice% EQU n echo 当然時間は:%date% %time%
pause>nul
pause