如何创建自解压RAR存档而不显示执行中的任何内容?

时间:2013-07-17 11:00:58

标签: winrar sfx

我正在尝试使用WinRar创建一个提取到“%USERPROFILE%\ Desktop”的自解压存档。但是,当我运行它时,它会提取到SFX的当前目录,而不是我的桌面。提取选项的路径是否有效?

我正在使用32位命令行模块。

我还检查了“隐藏所有”框,显示无声模式,但仍然显示命令提示窗口,显示有关提取内容的信息。

我希望SFX存档将.exe和SFX文件中包含的文件夹提取到桌面,而不会弹出任何消息。

有什么建议吗?

2 个答案:

答案 0 :(得分:8)

可以创建一个SFX RAR存档,直接将所有文件和文件夹提取到
"%USERPROFILE%\Desktop"没有显示窗口。

选择文件和文件夹并点击工具栏中的添加图标后,可以使用 WinRAR 完成此操作

  1. 选中标签常规选项创建SFX存档
  2. 点击按钮 SFX选项上的高级标签,
  3. 在SFX选项卡上输入常规以获取提取字符串"%USERPROFILE%\Desktop"的路径,从而自动选择选项绝对路径是的,
  4. 在SFX标签上选择模式选项全部隐藏
  5. 在SFX选项卡上选择模块 SFX模块 Default.sfx (WinRAR GUI SFX模块),
  6. 关闭高级SFX选项窗口,按钮确定
  7. 在标签常规上输入SFX存档的名称
  8. 并使用按钮确定开始压缩。
  9. 如果模块 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
    

    在此批处理文件中必须修改以供使用:

    1. 包含控制台版本Rar.exe WinRAR 的程序文件文件夹路径以及SFX模块 Default.sfx
    2. 要创建的SFX存档的路径和名称。
    3. 要添加到存档的文件夹和/或文件的路径和名称。
    4. 已使用的开关在 WinRAR 的程序文件文件夹中的文本文件 Rar.txt 中进行了解释。

      关于开关-ep1的另一个注意事项:

      在将文件夹或文件添加到存档时,将从名称中删除要添加到存档的文件夹和/或文件名称中的最后反斜杠的所有内容。

      在将文件夹添加到RAR存档时,如果在结尾处指定了带或不带反斜杠的文件夹,则会有所不同。

      示例:

      这样的目录树
      • C:\温度
        • MyFolder文件
          • 子文件夹1
          • 子文件夹2
            • 档案X
          • 档案Y

      压缩
      Rar.exe a -ep1 -r C:\Temp\Demo1.rar C:\Temp\MyFolder
      

      在归档C:\Temp\Demo1.rar

      中包含以下文件和文件夹
      • MyFolder文件
        • 子文件夹1
        • 子文件夹2
          • 档案X
        • 档案Y

      使用

      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
      • 子文件夹2
        • 档案X
      • 档案Y

答案 1 :(得分:1)

Mofi! 我认为这是一个问题:

更改以下内容

"-z%TEMP%\SfxOptions.txt"

至以下

-z "%TEMP%\SfxOptions.txt"