実行可能ファイルのパラメーターは、SFX モジュールのパラメーターと共にコメント ファイルで直接指定できます。
この手法を示すバッチ ファイルの例を次に示します。
@echo off
cd /D "%TEMP%"
rem Create the file for the SFX module with the SFX options.
echo ;The comment below contains SFX script commands.>TestSetup.txt
echo.>>TestSetup.txt
echo Setup=Test.bat Switch "One more parameter">>TestSetup.txt
echo Overwrite=1>>TestSetup.txt
echo Title=Test Installation>>TestSetup.txt
echo Text>>TestSetup.txt
echo {>>TestSetup.txt
echo ^<font face='Arial'^>An SFX test which just shows how SFX module runs the installer.^<br^>^<br^>Just click on button Install or hit RETURN.^</font^>>>TestSetup.txt
echo }>>TestSetup.txt
rem Create the batch file executed by SFX archive.
echo @echo %%0 %%*>Test.bat
echo @pause>>Test.bat
echo @del %%0 ^>nul>>Test.bat
rem Create the SFX archive.
RAR.exe a -sfx -c -zTestSetup.txt TestSetup.exe Test.bat
rem Delete the created batch and comment file.
del Test.bat
del TestSetup.txt
rem Run the self-extracting archive. User has to press only RETURN.
start /wait TestSetup.exe
rem Delete the self-extracting archive.
:DeleteLoop
del TestSetup.exe >nul
if exist TestSetup.exe goto DeleteLoop
このバッチ ファイルは、最初に次の内容のテキスト ファイルTestSetup.txtを一時ファイル用のディレクトリに作成します。
;The comment below contains SFX script commands.
Setup=Test.bat Switch "One more parameter"
Overwrite=
Title=Test Installation
Text
{
<font face='Arial'>An SFX test which just shows how SFX module runs the installer.<br><br>Just click on button Install or hit RETURN.</font>
}
あなたにとって重要なのは、 で始まる行Setup=
です。
Test.bat
抽出後に実行するファイルです。
Switch
に最初のパラメータとして渡すオプションTest.bat
です。
"One more parameter"
Test.bat
は、スペースがあるため二重引用符で囲む必要がある渡される内部にスペースを含む 2 番目のパラメーターです。
次に、バッチ ファイルは、コンテンツを含む Test.batの作成を続行します。
@echo %0 %*
@pause
@del %0 >nul
この小さなバッチ ファイルは、SFX アーカイブによってどのように呼び出されたかを最初の行で出力するだけで、次にユーザーがキーを押すのを待って、最後に自分自身を削除します。したがって、バッチ ファイルがどのディレクトリに抽出されるかは問題ではありません。デフォルトは、一時ファイルのディレクトリである現在のディレクトリです。
次に、バッチ ファイルによって SFX アーカイブTestSetup.exeが作成されます。使用するスイッチの詳細については、 WinRARのプログラム ファイル ディレクトリにあるRar.txtを参照してください。
の行は、 WinRARRar.exe
のプログラム ファイル ディレクトリが環境変数PATHに含まれている場合、または Windows がWinRARのコンソール バージョンを検出できない場合にのみ、変更なしで機能することに注意してください。二重引用符で囲まれた完全なパスを含む行を変更して、バッチ ファイルのこの行がPATHに含まれるディレクトリとは無関係に機能するようにします。Rar.exe
Rar.exe
SFX RAR アーカイブが作成された後、ファイルTest.batおよびTestSetup.txtは不要になったため削除されます。
作成された SFX アーカイブTestSetup.exeが呼び出され、RETURN キーを押すと、 TestSetup.txt で指定された 2 つのパラメーターを使用して Test.bat が呼び出されることがわかります。
バッチファイルは、作成した SFX アーカイブも最後に削除します。