命令行中的 WinRAR SFX 在提取后不断创建父文件夹

WinRAR SFX from commandline keeps creating a parent folder after extraction

我正在尝试编写一个自动 SFX 创建器,将所有内容(递归地)集成到指定文件夹中。

由于 or this.

等不同帖子中的一些答案,我成功地做到了

我使用的命令如下:

"C:\Program Files\WinRAR\WinRar" a -s -m5 -ep1 -tl -scul -sfx -iicon"C:\InstallerIcon.ico" -iimg"C:\SFXStripe.bmp" -z"c:\winrar_installer_script.txt" "C:\Installer.exe" "C:\Matlab tools"

它确实"almost"我想要的。

问题是,当我执行安装程序时,我在安装路径 (C:\Installation Path) 上找到了一个名为 C:\Installation Path\Matlab Tools 的文件夹,其中包含所需的内容,而不是直接放置这些内容C:\Installation Path.

里面

我得到的:

<code>+ C:
    + Installation Path
        + Matlab Tools
            + Folder 1
                - File 1.1
                - File 1.2
            + Folder 2
                - File 2.1
                - File 2.2
</code>

我想要的:

<code>+ C:
    + Installation Path
        + Folder 1
            - File 1.1
            - File 1.2
        + Folder 2
            - File 2.1
            - File 2.2</code>

我的问题是:

有没有什么办法去掉原来的父文件夹(Matlab工具),但保留里面的结构?

我想我明白了……终于!

只需使用标记 -ep1 -r,并在原始文件夹 C:\Matlab Tools\* 后添加一个星号 C:\Matlab Tools\*

完整的说明如下:

"C:\Program Files\WinRAR\WinRar" a -s -m5 -ep1 -r -tl -scul -sfx -iicon"C:\InstallerIcon.ico" -iimg"C:\SFXStripe.bmp" -z"c:\winrar_installer_script.txt" "C:\Installer.exe" "C:\Matlab tools\*"