【问题标题】:7zip command line - archive name from source file name7zip 命令行 - 来自源文件名的存档名称
【发布时间】:2013-10-28 11:37:20
【问题描述】:

如何读取源文件的名称并使用 cmd 存档选项将其作为 7zip 中的存档名称发送。

现在我使用:

7z a -t7z V:\archive.7z V:\Backup\*.bak

我想检查 V:\Backup 中的 bak 名称文件(始终只有 1 个文件)并将其作为 archive.7z 发送 - 例如,如果在 V:\Backup 中是 1 个名为 "20131028_1100.bak" 的文件,我想将存档命名为 @987654326 @

【问题讨论】:

    标签: 7zip


    【解决方案1】:

    您需要一个执行 FOR 命令的 .bat 脚本,如下所示: for %%X in (*) do "7zip\App\7-Zip\7z.exe" a "%%~nX.zip" "%%X"

    %%X 将捕获您将执行脚本的文件夹中包含的每个文件的文件名(在本例中为 V:\Backup\ 并且只会处理 1 个文件),因此 %%~nX.zip 将取那个文件名

    【讨论】:

      【解决方案2】:

      7zip 将源文件名保存到存档

      正如“capa”所说,必须使用shell命令,因为7zip没有提供这种情况下的命令。 以下编辑的命令可用于操作 *.bak 文件,它适用于“7z”压缩扩展。它在压缩率上比“zip”格式更有效。

      7z 格式 FOR %%I IN (.bak) DO "c:\Program Files\7-Zip\7z.exe" a -t7z %%~nI.7z %%~nI.

      压缩格式 FOR %%I IN (.bak) DO "c:\Program Files\7-Zip\7z.exe" a -tZip %%~nI.zip %%~nI.

      在上述命令中,.bak 之前的“*”符号没有出现。请添加! 还要在每个命令的末尾添加“*”。

      *在 *.bak 文件目录上创建一个“bat”文件,例如“compressbak.bat”,复制并粘贴首选命令(7z 或 zip),“保存”“compressbak.bat”中的内容!这将在 *.bak 文件保存的同一文件夹中创建 *.bak 文件的命名存档。此外,如果您在 Windows x64 上运行并且您拥有 x86 版本的 7-Zip,您必须遵循正确的路径才能调用 7z.exe 文件。 "c:\Program Files (x86)\7-Zip\7z.exe"

      Folder and bat file content!

      希望对你有帮助!!!

      【讨论】:

        猜你喜欢
        • 2015-09-09
        • 1970-01-01
        • 1970-01-01
        • 2019-09-18
        • 2020-12-16
        • 2021-02-17
        • 2018-06-12
        • 1970-01-01
        • 2015-05-10
        相关资源
        最近更新 更多