Skip to content

Instantly share code, notes, and snippets.

@myaumyau
Last active December 13, 2015 21:08
Show Gist options
  • Save myaumyau/4975094 to your computer and use it in GitHub Desktop.
Save myaumyau/4975094 to your computer and use it in GitHub Desktop.
[MS-DOS]バッチテンプレ MSDOS
rem MS-DOS
@echo off
setlocal
rem ======================================================================
rem カレントドライブ・カレントディレクトリをバッチファイルのディレクトリにする
cd /d %~dp0
rem ======================================================================
rem iniファイル(***.cmdの場合は***.ini)
set INIFILE=%~n0.ini
rem ======================================================================
rem iniファイルから設定読込
if not exist %INIFILE% (
echo %INIFILE%が存在しません。
exit /b -1
)
rem LOGFILE ログファイル
rem PROCESS_NAME 処理名
call :INIT %INIFILE%
rem 絶対パスに展開
rem call :ExpandFullPath "SOURCE_DIR" "%SOURCE_DIR%"
if defined DEBUG (
echo ログ移行元: %SOURCE_DIR%
echo ログ移行先: %DESTINATION_DIR%
)
echo %PROCESS_NAME%を開始します。
set /P pressKey=続行しますか[y/n]?
if "%pressKey%" == "y" (
call :MAIN
)
echo 終了しました。何かキーを押してください . . .
pause > NUL
pause > NUL
endlocal
exit /b
rem ======================================================================
:MAIN
call :echoEx %date% %time% %PROCESS_NAME%開始
rem TODO
call :echoEx %date% %time% %PROCESS_NAME%終了
echo.>> %LOGFILE% 2>&1
exit /b 0
rem ======================================================================
:echoEx
set arg=%~1
if defined arg (
echo %*
echo %*>>%LOGFILE%
) else (
echo.>>%LOGFILE%
)
exit /b 0
rem ======================================================================
:ExpandFullPath
rem %1 変数名
rem %2 変数値
rem %3 末尾に区切り文字をつける場合は 1 を渡す
set addEndSeparetor=%3
if not defined addEndSeparetor (
set addEndSeparetor=0
)
rem 完全修飾パスにする
set val=%~f2
rem 末尾に\をつける
if %addEndSeparetor% == 1 if not %val:~-1% == \ (
set val=%val%\
)
set variableName=%~1
set %variableName%=%val%
set addEndSeparetor=
set val=
exit /b 0
rem ======================================================================
:INIT
rem %1 iniファイル
for /f "usebackq eol=; delims== tokens=1,2" %%a in (%1) do (
@set %%a=%%b
)
set YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2%
set HHMMSSFF=%time:~0,11%
set HHMMSSFF=%HHMMSSFF::=%
set HHMMSSFF=%HHMMSSFF:.=%
set HHMMSSFF=%HHMMSSFF: =0%
if not defined DEBUG (
set DEBUG=0
)
if %DEBUG% == 0 (
set DEBUG=
)
exit /b 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment