@echo off title %~nx0 REM ## OS check if /i not "%PROCESSOR_ARCHITECTURE%"=="x86" GOTO x64 ver | find "Version 6" >nul && set osver=vista if "%osver%"=="vista" ( if /i not "%cd%"=="%windir%\system32" GOTO UAC ) pushd %~dp0 set down_dir=.\download_files REM check VFD.EXE if exist .\vfd\VFD.EXE set vfdexe=ok REM ##################################### REM ### FILE CHECK REM ##################################### set MEMTEST_ver=memtest86+-2.01 set FILE_gpxe=gpxe-0.9.5-gpxe.lkrn set FILE_fcimage=FC5-FloppyInstall-1.img set FILE_fdos=fdboot.img set FILE_balder=balder10.img set FILE_LINLD=LINLD.COM set FILE_memtest=%MEMTEST_ver%.bin set DIR_conf=fdboot_liveusb3_files set DIR_grub=grub4dos-0.4.4 REM check fdboot.img if exist %down_dir%\%FILE_fdos% set fdos=ok REM check balder10.img if exist %down_dir%\%FILE_balder% set balder=ok REM check FC5-FloppyInstall-1.img if exist %down_dir%\%FILE_fcimage% set fcimage=ok REM check fdboot_liveusb3_files if exist %down_dir%\%DIR_conf%\*.* set conf=ok REM check grub.exe if exist grub.exe set grub=grub.exe if exist %down_dir%\grub.exe set grub=%down_dir%\grub.exe if exist %down_dir%\%DIR_grub%\grub.exe set grub=%down_dir%\%DIR_grub%\grub.exe if exist .\grub4dos\grub.exe set grub=.\grub4dos\grub.exe if "%vfdexe%"=="" GOTO NOVFD if "%fdos%"=="" GOTO NOFDOS if "%balder%"=="" GOTO NOBALDER if "%fcimage%"=="" GOTO NOFC if "%conf%"=="" GOTO NOCONF echo: REM check dd.exe if exist dd.exe set ddexe=ok if exist .\dd\dd.exe set ddexe=ok if "%ddexe%"=="" echo *** dd.exe はありません *** echo: echo ************************************************************** echo * * echo * === Fdos_SCL イメージの作成を始めちゃいます === * echo * * echo * === .\download_files にファイルは準備されてますか? === * echo * * echo * === .\vfd\vfd.exe が必要です! === * echo * * echo * === 保存ファイル名は Fdos_SCL.img です === * echo * * echo ************************************************************** echo: echo 続行しますか? 中断は xボタン or Ctrl-C echo: echo *** 何かキーを押すと続行します *** pause >nul echo: echo: REM ====================================== Image to Files set path=.\vfd;%path% for %%x in (O,P,Q,R,S,T,U,V,W,X,Y,Z) do reg query HKLM\SYSTEM\MountedDevices | findstr \\%%x: >nul || echo %%x>>akidrive.txt for /f %%x in (akidrive.txt) do if not exist %%x:\ set vfdrive1=%%x if "%vfdrive1%"=="" GOTO NODRIVE REM if vfdrive1 cannot mount ... REM set vfdrive1=R VFD.EXE STOP /FORCE 2>nul VFD.EXE START if ERRORLEVEL 1 GOTO ERROR1 VFD.EXE ULINK * echo: VFD.EXE link 0 %vfdrive1% VFD.EXE OPEN %vfdrive1%: %down_dir%\%FILE_fdos% /RAM /W if ERRORLEVEL 1 GOTO ERROR2 echo: for /f %%x in (akidrive.txt) do if not exist %%x:\ set vfdrive2=%%x del akidrive.txt 2>nul if "%vfdrive2%"=="" GOTO NODRIVE REM if vfdrive2 cannot mount ... REM set vfdrive1=S echo: VFD.EXE link 1 %vfdrive2% VFD.EXE OPEN %vfdrive2%: %down_dir%\%FILE_balder% /RAM /W if ERRORLEVEL 1 GOTO ERROR3 echo: pushd %vfdrive1%:\freedos\ del ..\fdconfig.sys del append.exe del *.bat del *.com copy %vfdrive2%:\xcopy.exe copy %vfdrive2%:\edit.exe echo: cd ..\driver del emm386.exe del shsucdhd.exe del *.sys copy %vfdrive2%:\keyb.exe copy %vfdrive2%:\keyboard.sys copy %vfdrive2%:\keybrd2.sys echo: popd VFD.EXE CLOSE %vfdrive2%: /FORCE VFD.EXE OPEN %vfdrive2%: %down_dir%\%FILE_fcimage% /RAM /W if ERRORLEVEL 1 GOTO ERROR3 echo: pushd %vfdrive1%:\ copy %vfdrive2%:\appld.bat copy %vfdrive2%:\HOME.DAT copy %vfdrive2%:\LDFD.ZIP copy %vfdrive2%:\license.txt copy %vfdrive2%:\RDRIVE.BAT copy %vfdrive2%:\ReadMe.txt copy %vfdrive2%:\TDSK.EXE copy %vfdrive2%:\TURBO.DAT copy %vfdrive2%:\TURBODAT.exe copy %vfdrive2%:\UNZIP.EXE copy %vfdrive2%:\version.txt popd echo: VFD.EXE CLOSE %vfdrive2%: /FORCE echo: if exist %down_dir%\LINLD.COM ( copy "%down_dir%\%FILE_LINLD%" %vfdrive1%:\freedos\ ) else ( set linld=none ) echo: if defined grub copy %grub% %vfdrive1%:\ echo: if exist %down_dir%\%FILE_gpxe% ( copy "%down_dir%\%FILE_gpxe%" "%vfdrive1%:\gpxe_all.krn" ) else ( set gpxe=none ) echo: if exist %down_dir%\%FILE_memtest% ( copy "%down_dir%\%FILE_memtest%" "%vfdrive1%:\memtest" ) else ( set memtest=none ) echo: xcopy %down_dir%\%DIR_conf%\*.* %vfdrive1%:\ /s /e /y echo: if not exist Fdos_SCL.img GOTO SAVE for %%I in (Fdos_SCL.img) do set bt=%%~tI set bt=%bt: =% set bt=%bt:~-13,2%%bt:~-10,2%%bt:~-7,2%_%bt:~-5,2%%bt:~-2,2%_%RANDOM% for %%I in (Fdos_SCL.img) do set backname=%%~nI_%bt%%%~xI ren Fdos_SCL.img %backname% :SAVE VFD.EXE SAVE %vfdrive1%: .\Fdos_SCL.img /FORCE echo: if ERRORLEVEL 1 GOTO ERROR4 VFD.EXE CLOSE %vfdrive1%: /FORCE VFD.EXE STOP VFD.EXE REMOVE echo: REM ##################################### REM ### DONE REM ##################################### :DONE echo: echo ============================================================== echo Fdos_SCL.img を保存しました! echo ============================================================== echo: echo ============================================================== echo: echo 終了しましたが.... コピーエラーがなかったか?確認してください。 echo: if "%linld%"=="none" ( echo LINLD.COM はありません) if "%grub%"=="" ( echo grub.exe はありません) if "%gpxe%"=="none" ( echo gpxe-0.9.5-gpxe.lkrn はありません) if "%memtest%"=="none" ( echo %MEMTEST_ver%.bin はありません) echo ============================================================== echo: GOTO END REM ##################################### REM ### VFD ERROR REM ##################################### :NODRIVE echo: echo ============================================================== echo ! O -Z に空きドライブ文字がありません(※2つ必要) ! echo ============================================================== echo: VFD.EXE STOP /FORCE VFD.EXE REMOVE /FORCE GOTO END :ERROR1 echo: echo ============================================================== echo ! Virtual Floppy Drive を開始できない様です ! echo ============================================================== echo: VFD.EXE STOP /FORCE VFD.EXE REMOVE /FORCE GOTO END :ERROR2 echo: echo ============================================================== echo ! ドライブ0 でFDイメージのマウントに失敗した様です ! echo ============================================================== echo: VFD.EXE STOP /FORCE VFD.EXE REMOVE /FORCE GOTO END :ERROR3 echo: echo ============================================================== echo ! ドライブ1 でFDイメージのマウントに失敗した様です ! echo ============================================================== echo: VFD.EXE STOP /FORCE VFD.EXE REMOVE /FORCE GOTO END :ERROR4 echo: echo ============================================================== echo ! Fdos_SCL.img を保存時にエラーが発生しました ! echo ============================================================== echo * echo *** dd コマンドでのイメージの保存を試してみますか? *** echo: echo * *** 中断は qq を入力して Enter *** * echo: set /p choice= [ y,qq ] : echo: if /i "%choice%"=="y" GOTO dd if /i "%choice%"=="qq" GOTO CANCEL GOTO ERROR4 REM ##################################### REM ### dd REM ##################################### :dd set path=.\dd;%path% echo: echo ......... dd コマンドでイメージを保存しています ............ echo: dd if=\\.\%vfdrive1%: of=Fdos_SCL.img bs=1440k --progress echo: echo: if "%errorlevel%"=="0" echo ********** 隊長!成功したもようです! Fdos_SCL.img を保存しました ********** if ERRORLEVEL 1 GOTO dd_ERROR echo: VFD.EXE STOP /FORCE echo: VFD.EXE REMOVE /FORCE echo: GOTO DONE REM ##################################### REM ### dd_ERROR REM ##################################### :dd_ERROR VFD.EXE STOP /FORCE echo: VFD.EXE REMOVE /FORCE echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo !!! !!! echo !!! ! ddコマンドでも失敗しました... !!! echo !!! !!! echo !!! 作成できませんでした... !!! echo !!! すみません... !!! echo !!! !!! echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: GOTO END REM ##################################### REM ### NOFILES REM ##################################### :NOVFD echo: echo ! .\vfd\VFD.exe がありません ! GOTO NOFDOS :NOFDOS if "%fdos%"=="ok" GOTO NOBALDER echo: echo ! %down_dir%\fdboot.img がありません ! GOTO NOBALDER :NOBALDER if "%balder%"=="ok" GOTO NOFC echo: echo ! %down_dir%\balder10.img がありません ! GOTO NOFC :NOFC if "%fcimage%"=="ok" GOTO NOCONF echo: echo ! %down_dir%\FC5-FloppyInstall-1.img がありません ! GOTO NOCONF :NOCONF if "%conf%"=="ok" GOTO NOFILES echo: echo ! %down_dir%\fdboot_liveusb3_files\ がありません ! GOTO NOFILES :NOFILES echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo !!! !!! echo ! ファイルが足りないのて中断しますです... ! echo !!! !!! echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: GOTO END REM ##################################### REM ### UAC REM ##################################### :UAC echo: echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !「管理者として実行」してくださいマセ ! echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: GOTO END REM ##################################### REM ### x64 REM ##################################### :x64 echo: echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: echo !64ビット版には対応していませぬ。 ! echo: echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! echo: GOTO END REM ##################################### REM ### CANCEL REM ##################################### :CANCEL VFD.EXE STOP /FORCE VFD.EXE REMOVE /FORCE echo: echo キャンセルしますた... echo: GOTO END REM ##################################### REM ### END REM ##################################### :END echo: echo *** 何かキーを押すと閉じます *** pause >nul