我正在尝试使用WinRar创建一个提取到“%USERPROFILE%\ Desktop”的自解压存档。但是,当我运行它时,它会提取到SFX的当前目录,而不是我的桌面。提取选项的路径是否有效?
我正在使用32位命令行模块。
我还检查了“隐藏所有”框,显示无声模式,但仍然显示命令提示窗口,显示有关提取内容的信息。
我希望SFX存档将.exe和SFX文件中包含的文件夹提取到桌面,而不会弹出任何消息。
有什么建议吗?
答案 0 :(得分:8)
可以创建一个SFX RAR存档,直接将所有文件和文件夹提取到
"%USERPROFILE%\Desktop"
没有显示窗口。
选择文件和文件夹并点击工具栏中的添加图标后,可以使用 WinRAR 完成此操作
"%USERPROFILE%\Desktop"
的路径,从而自动选择选项绝对路径是的,如果模块 WinCon.sfx 用于SFX存档,将始终显示命令提示符窗口,因为在这种情况下,Windows会在启动SFX存档时自动检测到这是一个控制台应用程序并打开一个命令提示符窗口,其中执行控制台SFX。
也可以使用批处理文件创建此类SFX存档:
@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
在此批处理文件中必须修改以供使用:
Rar.exe
的 WinRAR 的程序文件文件夹路径以及SFX模块 Default.sfx 。已使用的开关在 WinRAR 的程序文件文件夹中的文本文件 Rar.txt 中进行了解释。
关于开关-ep1
的另一个注意事项:
在将文件夹或文件添加到存档时,将从名称中删除要添加到存档的文件夹和/或文件名称中的最后反斜杠的所有内容。
在将文件夹添加到RAR存档时,如果在结尾处指定了带或不带反斜杠的文件夹,则会有所不同。
示例:
像
这样的目录树用
压缩Rar.exe a -ep1 -r C:\Temp\Demo1.rar C:\Temp\MyFolder
在归档C:\Temp\Demo1.rar
使用
Rar.exe a -ep1 -r C:\Temp\Demo2.rar C:\Temp\MyFolder\
或使用
Rar.exe a -ep1 -r C:\Temp\Demo2.rar C:\Temp\MyFolder\*
会在归档C:\Temp\Demo2.rar
答案 1 :(得分:1)
Mofi! 我认为这是一个问题:
更改以下内容
"-z%TEMP%\SfxOptions.txt"
至以下
-z "%TEMP%\SfxOptions.txt"