ハムスターに飼われる院生のブログ

自分用メモが中心のブログです。

実行日をフォルダ名に持つフォルダ内に結果を出力させるbatファイル

表題の通りのbatファイルを作った。
基本的には以下の記事の亜種のbatファイルとなっている。
chicagopile1-75.hatenablog.com


【実行時の状況】
・test.exeという実行ファイルは引数を2つとり、計算結果を標準出力してくる。
・input.txtというファイル内にtest.exeに与えたい引数がタブ又はスペース区切りで記されている。

@echo off
@setlocal enabledelayedexpansion
rem *****************************************************************
set /a num=0
set F=outputN.txt
call :Make_Dir
for /f "tokens=1,2" %%a in (input.txt) do (
	set para1=%%a
	set para2=%%b
	call :DoCalc
	set /a num =!num! + 1
)
goto :END
rem *****************************************************************

:DoCalc
	cd %FILE_PATH%
	copy ..\test.exe test.exe
	echo execute_!num!
	echo para1:%para1% para2:%para2%
	echo para1:%para1% para2:%para2% >%F:N=!num!%
	call test %para1% %para2%>> %F:N=!num!%
	cd..

:Make_Dir
	set FILE_PATH=%DATE:~-10,4%%DATE:~-5,2%%DATE:~-2%
	call :CHECK_FOLDER_EXIST %FILE_PATH%
	goto :END

:CHECK_FOLDER_EXIST
	if not exist %FILE_PATH% (
	    mkdir %FILE_PATH%
	)
	goto :END

:END