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

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

我还选中了“隐藏所有”框以保持静音模式,该框似乎完全不起作用,并且仍然出现命令提示符窗口,其中显示了有关提取内容的信息。

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

有什么建议么?

最佳答案

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

在选择文件和文件夹并单击图标后,可以使用 WinRAR 完成此操作。

  • 检查选项卡常规选项创建SFX存档
  • 单击选项卡按钮上的高级 SFX选项
  • 在SFX选项卡上输入
  • Path的常规提取字符串"%USERPROFILE%\Desktop",这会导致自动选择正确的选项绝对路径
  • 在SFX选项卡上选择模式选项隐藏所有,
  • 在“SFX”选项卡上选择模块 SFX模块Default.sfx(WinRAR GUI SFX模块),
  • 使用按钮关闭进阶SFX选项窗口okt
  • 在选项卡上输入常规 SFX存档的名称
  • 并使用按钮开始压缩,然后单击

  • 如果将模块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以及SFX模块Default.sfx的 WinRAR 程序文件文件夹的路径。
  • 要创建的SFX存档的路径和名称。
  • 要添加到存档中的文件夹和/或文件的路径和名称。

  • WinRAR 的程序文件文件夹中的文本文件 Rar.txt 中解释了所使用的开关。

    关于-ep1开关的另一条注释:

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

    在将文件夹添加到RAR归档文件时,如果指定的文件夹末尾带有反斜杠,则将有所不同。

    例子:

    像这样的目录树
  • C:\Temp
  • 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
  • 关于winrar - 如何创建自解压的RAR存档,在执行时不显示任何内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17698055/

    10-13 03:23