とりあえずドラフト版 Ver.3
新ファイル名に対応し32bitと64bitで別れていたのを一つにまとめた
環境変数を整理
@echo off rem ============================================================================== rem = Windows10 64bit版でしかテストしていません = rem = WinRARインストールファイル作成(64bit&32bit版) = rem = 実行にはWinRARインストールファイルとWinRAR language filesが必要です = rem = 作成にrar.exeを使用します = rem = 7zxa.dllの取り込みはオプション(無くてもエラーにしない通常はコメントアウト) = rem = 自分で作成したインストールファイルを配布するのはライセンス違反になります。 = rem ============================================================================== rem = WinRAR バージョン番号 ex.610 610b1 ===================== set cVerRAR=610b2 rem = 7-Zip バージョン番号 ex.2104 ========================== rem = 有効にするには取込行のremを外してください ============= set cVer7z=2104 rem = 入力ファイルフォルダ ================================== set cINDIR=T:\@Download\ rem = 出力ファイルフォルダ ex. .\(カレントフォルダ)========== rem set cOUTDIR=T:\kkkkk\ set cOUTDIR=.\ rem ========================================================= rem WINRARINSTF:WinRARインストールファイルの絶対(相対)パス+ファイル名 rem cRARLNG:rarlang.rarのパス+ファイル名 rem cRAREXE:rar.exeの絶対(相対)パス+ファイル名 rem cEXE7Z:7z.exeの絶対(相対)パス+ファイル名 rem cEXT7Z:7-Zip Extraのパス+ファイル名 set cRARLNG=%cINDIR%RARLNG.rar set cRAREXE=C:\Program Files\WinRAR\Rar.exe set cEXE7Z=C:\Program Files\7z\7z.exe set cEXT7Z=%cVer7z%-extra.7z :LNG_CHECK IF EXIST "%cRARLNG%" GOTO CALL_SUB64 echo RARLNGファイルが見つかりません。処理を中止します。 pause exit /B :CALL_SUB64 set cBIT=64 set cSETUP=Setup64 set cDLL7Z=x64\7zxa.dll CALL :MAKE_SUB :CALL_SUB32 set cBIT=32 set cSETUP=Setup set cDLL7Z=7zxa.dll CALL :MAKE_SUB exit /b :MAKE_SUB set wINFNAME=%cINDIR%winrar-x%cBIT%-%cVerRAR%.exe set wWORKDIR=%cOUTDIR%winrar-x%cBIT%-%cVerRAR%JP\ set wOUTFNAME=%cOUTDIR%winrar-x%cBIT%-%cVerRAR%JP.exe IF NOT EXIST "%wINFNAME%" GOTO SUB_EXIT DEL "%wOUTFNAME%" > nul 2> nul "%cRAREXE%" x -y "%wINFNAME%" "%wWORKDIR%" > nul :MARGE_sfx1 copy /b "%wWORKDIR%Default.sfx"+"..\sfxファイル\sfx.lng" Default.sfx > nul 2>nul IF EXIST "%wWORKDIR%Default.sfx" GOTO MARGE_sfx2 echo Default.sfxのマージに失敗。処理を中止します。 pause exit /B :MARGE_sfx2 copy /b "%wWORKDIR%Zip.sfx"+"..\sfxファイル\sfx.lng" Zip.sfx > nul 2>nul IF EXIST "%wWORKDIR%Zip.sfx" GOTO MARGE_sfx3 echo Zip.sfxのマージに失敗。処理を中止します。 pause exit /B :MARGE_sfx3 copy /b "%wWORKDIR%WinCon.sfx"+"..\日本語化ファイル\rar.lng" WinCon.sfx > nul 2>nul IF EXIST "%wWORKDIR%WinCon.sfx" GOTO MARGE_sfx4 echo WinCon.sfxのマージに失敗。処理を中止します。 pause exit /B :MARGE_sfx4 IF %cBIT%==32 GOTO JPFILE_COPY copy /b "%wWORKDIR%Default64.sfx"+"..\sfxファイル\sfx.lng" Default64.sfx > nul 2>nul IF EXIST "%wWORKDIR%Default64.sfx" GOTO MARGE_sfx5 echo Default64.sfxのマージに失敗。処理を中止します。 pause exit /B :MARGE_sfx5 copy /b "%wWORKDIR%Zip64.sfx"+"..\sfxファイル\sfx.lng" Zip64.sfx > nul 2>nul IF EXIST "%wWORKDIR%Zip64.sfx" GOTO MARGE_sfx6 echo Zip64.sfxのマージに失敗。処理を中止します。 pause exit /B :MARGE_sfx6 copy /b "%wWORKDIR%WinCon64.sfx"+"..\日本語化ファイル\rar.lng" WinCon64.sfx > nul 2>nul IF EXIST "%wWORKDIR%WinCon64.sfx" GOTO JPFILE_COPY echo WinCon64.sfxのマージに失敗。処理を中止します。 pause exit /B :JPFILE_COPY copy "..\日本語化ファイル\*.*" "%wWORKDIR%" > nul 2> nul del "%wWORKDIR%*.sfx" > nul 2> nul copy *.sfx "%wWORKDIR%" > nul 2> nul :MAKE_RAR "%cRAREXE%" e -y "%cRARLNG%" lng\%cSETUP%.sfx > nul copy /b "%cSETUP%.sfx"+Setup.lng "%cSETUP%JP.sfx" > nul 2>nul IF EXIST "%cSETUP%JP.sfx" GOTO MAKE_INST echo %cSETUP%.sfxのマージに失敗。処理を中止します。 pause exit /B :MAKE_INST rem = 7zxa.dllの取込 ======================================== rem "%cEXE7Z%" e -aoa -y -o"%wWORKDIR%" "%cINDIR%7z%cEXT7Z%" %cDLL7Z% > nul 2>nul "%cRAREXE%" m -r -ep1 -cfg- -s -m5 -z"SETUP.s" -sfx"%cSETUP%JP.sfx" "%wOUTFNAME%" "%wWORKDIR%*.*" > nul :TEMP_DELETE del *.sfx > nul 2> nul rmdir /s /q "%wWORKDIR%" > nul 2> nul :SUB_EXIT exit /B