重命名一堆文件并添加索引计数器

时间:2013-07-04 06:32:08

标签: windows batch-file cmd

我必须重命名一堆文件。它们都在同一个文件夹中。我的想法是通过批处理脚本来做到这一点,但问题是,我必须“拆分”原始文件名并给它一个索引编号。

例如:

Original Filename: XYZ SomeDocument.docx
New Filename: XYZ 01 SomeDocument.docx

有人知道我该怎么做吗?

2 个答案:

答案 0 :(得分:1)

@echo off
setlocal EnableDelayedExpansion
set index=100
for /F "tokens=1*" %%a in ('dir /B /A-D') do (
   set /A index+=1
   ren "%%a %%b" "%%a !index:~-2! %%b"
)

答案 1 :(得分:0)

我总是使用Python来完成这样的任务:)

例如:

import os

DIR = r'C:\foo'

index = 1
for file_name in os.listdir(DIR):
    old_path = os.path.join(DIR, file_name)
    split = file_name.split("XYZ")
    new_file_name = "XYZ %s %s" % (index, split[1].strip())
    new_path = os.path.join(DIR, new_file_name)
    os.rename(old_path, new_path)
    index += 1