0

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

例如:

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

有人知道我该怎么做吗?

4

2 回答 2

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"
)
于 2013-07-04T07:07:19.340 回答
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
于 2013-07-04T06:44:51.293 回答