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

use*_*652 8 windows terminal command-line batch-file

我的文件名有问题。我使用的愚蠢的相机每隔一段时间就会重置自动编号序列,因此如果我尝试将大量照片放入一个文件中,我会遇到大量冲突。

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

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

不幸的是,我是在 Windows 出现所有虚假噱头之前从未真正使用过 DOS 的一代人。我曾尝试找到一个应用程序来执行此操作,但它们非常可悲,因此我只想在 Windows .cmd 或仅在普通 .bat 中执行此操作(这是我发现对文件的一些不错控制的地方)。任何人都可以帮我解决代码吗?

Aac*_*ini 13

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

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

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


Den*_*nis 3

自 80 年代中期以来,我一直很喜欢命令行,但我必须承认,这是我始终依赖Rename-It 的一个领域! 我知道你想要 DOS,但我会留下这个,以防万一有人偶然发现还没有听说过它。

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

在此输入图像描述