在 Windows 上,当我.zip
使用以下命令创建卷小于 20MB 的分割文件时:
7z a name.zip files\* -v20M
我得到一个或多个名为name.zip.001
、name.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 在重命名后是否能够解压缩原始文件。