【问题标题】:Rotate Rename Numbering files using batch script使用批处理脚本旋转重命名编号文件
【发布时间】:2018-05-03 04:55:59
【问题描述】:

编辑:我有超过 100 个文件

我有多个文件要在每次运行批处理时轮换。

如何在每个 SUB-FOLDER 中进行操作?

Here's the concept

请帮忙。谢谢。

【问题讨论】:

  • 在相当容易的小规模水平上。您只需执行 5 个重命名命令。将 1 重命名为 0。将 2 重命名为 1。将 3 重命名为 2。将 4 重命名为 3。将 0 重命名为 4。要遍历子文件夹,您可以使用 FOR /D /R 命令。您提供了一个非常简化的示例来说明您想要做什么。事情变得复杂了,因为如果一个目录中有 50 个文件,你就不想像那样强行重命名。因此,您首先必须弄清楚文件夹中有多少文件,然后可能使用FOR /L 命令遍历所有数字。
  • 感谢您的回复。但我有超过 100 个文件。怎么做?
  • “在每个子文件夹中”是什么意思?文件是否散布在子(子?)文件夹上?有重名吗?
  • @Stephan,所有子文件夹中的相同文件 (.jpg)。仅在每个文件夹中旋转名称文件。如果令人困惑,如何仅在一个文件夹中解决我的问题?
  • 为什么需要它?可能是x-y-problem?也许每次一个新的(增加的)数字,您的脚本运行可以解决您的问题?

标签: batch-file rotation rename


【解决方案1】:
@echo off
setlocal enabledelayedexpansion

REM get number of files:
set count=0
for %%a in (*.jpg) do set /A count+=1

REM rename them (decreasing by one):
for /l %%a in (1,1,%count%) do (
  set /a new=%%a-1
  ECHO ren %%a.jpg !new!.jpg
)
REM rename 0 to max
ECHO ren 0.jpg %count%.jpg

当您验证它是您想要的时,删除 ECHOs。

【讨论】:

  • 你的概念是对的。如我所愿。但运行批处理,而不是响应我的图像。我有 100 张图像,它们已经命名为 1,2,3...100。拜托,我是初学者,给我最终的脚本
  • 通常的想法是在您决定测试并回来抱怨问题之前阅读答案。 阅读答案的最后一行!
  • 再次测试。谢谢斯蒂芬,你是我的英雄。
猜你喜欢
  • 2010-09-20
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多