如何在命令提示符中重命名一堆文件?

如何在命令提示符中重命名一堆文件?

我对文件名有点问题。我使用的相机很蠢,它时不时会重置自动编号序列,因此如果我尝试将大量照片放在一个文件中,就会遇到很多冲突。

我知道有一种方法可以将它们全部重命名为以下内​​容:

1.jpg、2.jpg、3.jpg...2000.jpg 等等...

不幸的是,在 Windows 出现并出现各种虚假噱头之前,我属于从未真正使用过 DOS 的一代人。我曾尝试寻找一个应用程序来执行此操作,但它们相当可怜,所以我只想在 Windows .cmd 或普通的 .bat 中执行此操作(在那里我发现了一些不错的文件控制)。有人能帮我提供代码吗?

答案1

我从 80 年代中期就开始喜欢命令行,但我不得不承认,这是我一直依赖的一个领域重命名! 我知道您想要 DOS,但我会保留这个,以防有人偶然发现而没有听说过它。

当我需要对单个文件(通常是成组)进行极端控制时,我会使用电子表格来构建批处理文件。在这种情况下,我使用 DIR/B 将文件名收集到文本文件中,将它们粘贴到一列中,在最后一列(在本例中为 D)中构建重命名命令,然后将该列粘贴到 .BAT 文件中并运行它。

在此处输入图片描述

答案2

以下批处理文件可以执行您想要的操作:

@echo off
setlocal EnableDelayedExpansion
set i=0
for %%a in (*.jpg) do (
    set /a i+=1
    ren "%%a" "!i!.new"
)
ren *.new *.jpg

文件首先用扩展名.new重命名以避免与正在处理的文件冲突,然后在.jpg最后重命名。

答案3

您可以使用重命名器并定义您想要的任何逻辑规则。删除、替换、清理、正则表达式、插入元标记,甚至编写自定义规则脚本。

以下是数码相机图像序列重命名规则的示例:

  1. 删除:从位置 1 删除直到结尾(跳过扩展)
  2. 插入:插入“新名称”作为后缀(跳过扩展名)
  3. 序列化:从 1 开始增量序列化,步骤 1,重复 1,并填充至长度 3 作为后缀(跳过扩展)

在此处输入图片描述

答案4

这不是真正的编程问题,或者说是可以通过普通的 Windows UI 解决的问题。据我所知,这只适用于 Windows 7,但如果您选择一组文件,然后按 F2 键,或右键单击->重命名,则可以重命名第一个文件,其余文件将获得相同的名称,并在其后附加 (1)、(2)、(3) 等。文件扩展名保持不变。

相关内容