@echo off
REM ##################################################################################
REM ###  edit by yassy http://www10.plala.or.jp/palm84/
REM ###  http://www10.plala.or.jp/palm84/archives/misc/grubcd/make_iso_grub4dos.bat
REM ##################################################################################

title %~nx0
pushd %~dp0
path=%cd%;%path%

for %%x in (mkisofs.exe,cygwin1.dll) do (
if not exist %%x GOTO NOFILE
)

pushd ..\
for /f "usebackq delims=" %%I in ('%cd%') do (if /i "%cd%"=="%%~dI\" GOTO DANGER)
set iso=..\grub4dos.iso
REM ## iso作成先を直接指定
REM set iso=C:\grub4dos.iso

for /f "delims=" %%I in ("%iso%") do set iso=%%~fI
echo:
echo:

REM #####################################
REM ### START
REM #####################################
:START
cls
echo:
echo         **************************************************************
echo         *****   %iso%                                            
echo         *****    作成します！ よろしおますか？                                        
echo         **************************************************************
echo:
echo                   続行しますか？ 中断は xボタン or Ctrl-C
echo:
echo                     *** 何かキーを押すと続行します *** 
pause >nul
echo:
echo:

REM #####################################
REM ### 既存ファイルのリネーム
REM #####################################
:BACKNAME
if not exist "%iso%" GOTO MAKEISO

for /f "delims=" %%I in ("%iso%") do set bt=%%~tI
set bt=%bt: =%
set bt=%bt:~-13,2%%bt:~-10,2%%bt:~-7,2%_%bt:~-5,2%%bt:~-2,2%
for /f "delims=" %%I in ("%iso%") do set backname=%%~nI_%bt%%%~xI
ren "%iso%" %backname%
if ERRORLEVEL 1 GOTO ERROR

REM #####################################
REM ### MAKEISO
REM #####################################
:MAKEISO
mkisofs -R -J -b grldr -V GRUB4DOS -no-emul-boot -boot-load-size 4 -o "%iso%" .
if ERRORLEVEL 1 GOTO ERROR
GOTO DONE

REM #####################################
REM ### NOFILE
REM #####################################
:NOFILE
echo:
for %%x in (mkisofs.exe,cygwin1.dll) do (
if not exist %%x (
echo                ！！！ %%x がないでござる          ...orz
echo                  * makeiso ディレクトリに置いてくだされ...
))
GOTO END

REM #####################################
REM ### DANGER
REM #####################################
:DANGER
echo:
echo        ! ドライブルートはだめにしてます。。。すみませぬ....
echo:
GOTO END

REM #####################################
REM ### ERROR
REM #####################################
:ERROR
echo:
echo        ！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！
echo        ！！！           エラー出ますた！ orz...                ！！！
echo        ！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！！
echo:
GOTO END

REM #####################################
REM ### DONE
REM #####################################
:DONE
echo:
echo      ******************************************************************
echo      ************              Done !                      ************
echo      ******************************************************************
echo:
GOTO END

REM #####################################
REM ### END
REM #####################################
:END
echo:
echo                     *** 何かキーを押すと閉じます *** 
pause >nul
