@echo off title %~nx0 REM check UniExtract.exe if not exist .\uniextract\UniExtract.exe GOTO NOTHING1 set path=.\uniextract;%path% echo: echo ************************************************************** echo * * echo * === 圧縮・書庫ファイル/ISO/FDイメージを展開/解凍します === * echo * * echo * *** gzip とかはだめかもしれません... *** * echo * * echo * === ファイルの場所のサブディレクトリに展開されます === * echo * * echo ************************************************************** echo: echo 続行しますか? 中断は xボタン or Ctrl-C echo: echo *** 何かキーを押すと続行します *** pause >nul :ASK cls echo: echo ============================================================== echo *** ファイル名を指定してクダサイ? *** echo ============================================================== echo: echo ***このディレクトリにある場合は...ファイル名だけでいいです *** echo: echo *** !!! エクスプローラからドラッグすると簡単です !!! *** echo: echo *** 中断するには qq を入力 *** echo: set /p filename= ファイル名 : echo: for /f "usebackq delims=" %%I in ('%filename%') do set filename=%%~I if "%filename%"=="" echo ファイル名を指定シテクダサイ ! && GOTO WAIT if /i "%filename%"=="qq" GOTO CANCEL for /f "delims=" %%I in ("%filename%") do set filename=%%~fI if not exist "%filename%" echo !!! ファイルがありません !!! if not exist "%filename%" GOTO WAIT for %%x in ("%filename%") do set file_test=%%~ax if "%file_test:~0,1%"=="d" echo * %filename% はディレクトリです!! && GOTO WAIT for %%I in ("%filename%") do set dirpath=%%~dpI for %%I in ("%filename%") do set makedir=%%~nI GOTO NAME :WAIT echo: echo *** 何かキーを押すと戻ります *** pause >nul GOTO ASK :NAME echo: echo: echo: echo 対象ファイルは echo %filename% echo よろしいですか? echo: echo *** 何かキーを押すと続行します *** pause >nul echo: if not exist "%dirpath%%makedir%\" GOTO EXTRACT :ASK2 cls echo: echo ============================================================== echo *** %makedir% が存在します *** echo: echo *** 作成するディレクトリ名(名前だけ)を指定してクダサイ *** echo ============================================================== echo: echo *** 中断するには qq を入力 *** echo: set /p makedir= ファイル名 : echo: if exist "%dirpath%%makedir%\" GOTO ASK2 if /i "%makedir%"=="qq" GOTO CANCEL echo: echo 展開するディレクトリは %dirpath%%makedir% よろしいですか? echo: echo *** 何かキーを押すと続行します *** pause >nul echo: :EXTRACT echo: echo "%filename%" を展開します... echo: UniExtract.exe "%filename%" "%dirpath%%makedir%" echo: echo: if not "%errorlevel%"=="0" GOTO ERROR if "%errorlevel%"=="0" GOTO DONE :NOTHING1 echo: echo ============================================================== echo UniExtract.exe.exe がありませんです... echo ============================================================== GOTO END :ERROR echo: echo ** !!! エラー出ますた ! !!! ** GOTO END :DONE echo 正常に終了しますた... echo: echo ***** %dirpath%%makedir% に展開済です ***** echo: GOTO END :CANCEL echo: echo キャンセルしますた... GOTO END :END echo: echo *** 何かキーを押すと閉じます *** pause >nul