I am trying to create a self-extracting archive that extracts to \"%USERPROFILE%\\Desktop\" with WinRar. However, when I run it, it extracts to the SFX\'s current directory,
Mofi! I think here a problem:
Change the following
"-z%TEMP%\SfxOptions.txt"
To the following
-z "%TEMP%\SfxOptions.txt"
It is possible to create an SFX RAR archive extracting all files and folders directly to
"%USERPROFILE%\Desktop"
without showing a window.
This can be done with WinRAR after selecting the files and folders and clicking on icon Add in the toolbar by
"%USERPROFILE%\Desktop"
which results in automatic selection of option Absolute path which is right,A command prompt window will be always displayed if module WinCon.sfx is used for the SFX archive as in this case Windows detects automatically on start of the SFX archive that this is a console application and opens a command prompt window in which the console SFX is executed.
Creating such an SFX archive can be done also with a batch file:
@echo off
echo ;The comment below contains SFX script commands>"%TEMP%\SfxOptions.txt"
echo/>>"%TEMP%\SfxOptions.txt"
echo Path="%%USERPROFILE%%\Desktop">>"%TEMP%\SfxOptions.txt"
echo Silent=^1>>"%TEMP%\SfxOptions.txt"
"%ProgramFiles%\WinRAR\Rar.exe" a -c -cfg- -ep1 -idq -m5 -mdg -r -s -sfx -y "-z%TEMP%\SfxOptions.txt" "Path\Name of your SFX.exe" "Path\Folder to add" "Path\File to add"
if errorlevel 1 goto Failure
del "%TEMP%\SfxOptions.txt"
goto :EOF
:Failure
del "%TEMP%\SfxOptions.txt"
echo/
echo Error on creation of "Path\Name of your SFX.exe"
echo/
pause
In this batch file must be modified for usage:
Rar.exe
and also the SFX module Default.sfx.The used switches are explained in text file Rar.txt in program files folder of WinRAR.
One more note on switch -ep1
:
Everything up to last backslash in name of folder and/or file to add to archive is removed from name on adding the folder or file to the archive.
On adding a folder to a RAR archive it makes a difference if the folder is specified with or without a backslash at end.
Example:
A directory tree like
is compressed with
Rar.exe a -ep1 -r C:\Temp\Demo1.rar C:\Temp\MyFolder
with following files and folders in archive C:\Temp\Demo1.rar
while using
Rar.exe a -ep1 -r C:\Temp\Demo2.rar C:\Temp\MyFolder\
or using
Rar.exe a -ep1 -r C:\Temp\Demo2.rar C:\Temp\MyFolder\*
results in following files and folders in archive C:\Temp\Demo2.rar