如何将 7-Zip 拆分文件重命名为 name_00N.zip 而不是 name.zip.00N

如何将 7-Zip 拆分文件重命名为 name_00N.zip 而不是 name.zip.00N

在 Windows 上,当我.zip使用以下命令创建卷小于 20MB 的分割文件时:

7z a name.zip files\* -v20M

我得到一个或多个名为name.zip.001name.zip.002等的文件。

我需要将所有内容重命名name.zip.00N为不同的命名方案,而name_index.zip不是name.zip.index:

name_001.zip
name_002.zip
name_003.zip

有没有简单的方法可以在.bat文件中做到这一点?

答案1

这是一个执行您请求的任务的简单批处理脚本:

@echo off
setlocal EnableDelayedExpansion

for /f "delims=. tokens=1-3" %%l in ('dir /a-d /b') do (
set FILENAME=%%l
set EXTENSION=%%m
set PARTNUMBER=%%n

    if defined PARTNUMBER (
        ren ".\!FILENAME!.!EXTENSION!.!PARTNUMBER!" "!FILENAME!_!PARTNUMBER!.!EXTENSION!
    ) else (
        echo The task cannot be accomplished on file !FILENAME!.!EXTENSION!.
    )

)
pause

此脚本执行一个for循环,分解启动批处理文件的文件夹中放置的每个文件的名称;它使用字符.作为各种标记的分隔符。然后,如果文件名包含三个不同的标记,则像问题示例中那样重命名;否则不重命名文件。此条件允许从此操作中排除具有简单名称加扩展名的常见文件。不幸的是,我不确定 7-Zip 在重命名后是否能够解压缩原始文件。

相关内容