使用批处理脚本重命名目录中的多个文件

2024-01-22

我有大约 1000 张图像,它们的名称如“IMG-12223”。我想将它们重命名为 1 2 3 4 ... 1000。我该怎么做。我编写了一个列出文件的批处理脚本,但我不知道如何重命名每个文件。例如将名称为“IMG-12223”的第一张图像重命名为 1 ,将名称为“IMG-23441”的第二张图像重命名为 2 ,依此类推...

for /r %%i in (*) do (
    echo %c% 
)

这是脚本。只需将脚本放入您的文件夹中并运行它即可。

@echo off & setlocal EnableDelayedExpansion 

set a=1
for /f "delims=" %%i in ('dir /b *') do (
  if not "%%~nxi"=="%~nx0" (
    ren "%%i" "!a!" 
    set /a a+=1
 ) 
) 

如果您想保留扩展名,即将“IMG-12223.jpg”、“IMG-12224.jpg”等重命名为“1.jpg”、“2.jpg”等,您可以使用以下脚本。

@echo off & setlocal EnableDelayedExpansion 

set a=1
for /f "delims=" %%i in ('dir /b *.jpg') do (
  ren "%%i" "!a!.jpg" 
  set /a a+=1
) 

[Update] 这里是对杰克评论中提到的几行的解释。

  • setlocal EnableDelayedExpansion

一般来说,我们想要变量a当执行但不读取该行时延迟扩展。没有它,变量a无法获得其增加的值,但始终为 1。

关于EnableDelayedExpansion的详细内容请参考答案https://stackoverflow.com/a/18464353/2749114 https://stackoverflow.com/a/18464353/2749114.

  • for /f "delims=" %%i in ('dir /b *.jpg')

Here dir with /b选项,仅列出所有 jpg 文件的文件名。

The for循环遍历并重命名所有jpg文件。

For the delims选项,由于默认分隔符是空格,没有该选项delims=,它会因文件名中带有空格的图像文件而失败。 IE。对于名为“img with space.jpg”的图像文件,如果没有该选项,则值为%%i是“img”,但不是全名“img with space.jpg”,这是不正确的。

For for循环,请参考页面http://ss64.com/nt/for_f.html http://ss64.com/nt/for_f.html.

  • if not "%%~ni"=="%~n0"

我已将其更改为if not "%%~nxi"=="%~nx0"更准确。并且所附代码已更新。

它实际上是用来避免重命名bat文件本身。如果我们限制仅对“jpg”文件进行重命名,则不需要该行。

%%~nxi是遍历的每个文件的文件名及其扩展名。和%~nx0是正在运行的bat文件,扩展名为.详情请参阅页面DOS BAT 文件相当于 Unix basename 命令? https://stackoverflow.com/questions/3432851/dos-bat-file-equivalent-to-unix-basename-command.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用批处理脚本重命名目录中的多个文件 的相关文章

  • 如果文件为空,如何跳过文件行

    python 3中的程序 这是我的第一个涉及文件的程序 我需要忽略注释行 以 开头 和空行 然后拆分这些行 以便它们可迭代 但我不断收到 IndexError 消息 指出字符串索引超出范围 并且程序在空行处崩溃 import os path
  • C++:获取器和设置器?

    我正在尝试编写一些代码来为以下数据的 ID 号 名字 姓氏 期中成绩和期末成绩创建 getter 和 setter 这些数据位于我正在编写的班级的文本文件中 10601 ANDRES HYUN 88 91 94 94 89 84 94 84
  • 是否可以从外部文件运行 openoffice 宏?

    我想从外部文件运行 OpenOffice 宏 喜欢 vlad leo soffice macro home vlad q vbs 并不是真正的答案 只是一个评论 以便提出这个问题 并希望得到答案 这可能与必须显式设置宏的权限有关 例如 编辑
  • 比较批处理文件中的两个数字

    我在这个网站上搜索了我的问题 但没有找到解决我问题的方法 系统为玩家和计算机提供一个从 2 到 12 的随机数 这有 3 部分 X 大于 Y 如果 X 小于 Y 以及当 X 与 Y 相同 当我开始 bat 效果很好 我选择Play Game
  • Windows 2000 说超时不是命令或批处理文件

    我只是在摆弄 CMD 并制作动画 ASCII 艺术 我一直在尝试在 Windows 2000 笔记本电脑上使用 超时 命令 但是每次我尝试这样做时 它只是说它不是内部或外部命令或批处理文件 这是一台运行 Windows 2000 的旧东芝
  • PHP 文件上传帮助

    div align center div 这是我的代码
  • 如何根据扩展名获取文件类型信息? (不是 MIME)在 c# 中

    如何获取基于扩展名的一般文件类型描述 如资源管理器 所以不是 MIME 而是最终用户看到的信息 doc Microsoft Office Word 97 2003 文档 zip ZIP 文件 avi 视频文件 我怎样才能获得似乎可用的 辅助
  • 批处理文件删除目录中除指定列表之外的所有文件夹

    我正在寻找一个批处理文件 该文件将进入 C Documents and Settings 并删除除我想保留的几个文件夹之外的所有文件夹 这是一个破解方法 D 如果您在folders txt 中有一个文件夹路径列表 如下所示 C Docume
  • 批处理脚本生成特定年月、周和工作日的文件夹

    最近几天我一直在寻找这个问题的答案 有很多关于全年批量文件夹创建的答案 但不够具体 所以我非常感谢答案 所以我想要这样的文件夹结构 如下所示 2017 for example main folder for year 2017 01 JAN
  • 我可以从命令行或 MS-Dos 启用/禁用网络连接吗?

    我想从 Windows 8 中的命令行启用 禁用网络连接 netsh interface set interface Local Area Connection DISABLED 要启用该接口 您需要运行 netsh interface s
  • 如何设置任务在使用 vbs 登录时以当前用户身份运行而无需管理员权限?

    从命令行 我可以创建一个在登录时运行的计划任务 无需管理员权限或用户输入密码来设置任务 但是我必须使用 xml 文件来执行此操作 下面是一个示例 xml 其中 Domain User 部分必须在运行时替换为当前用户的域和名称
  • 如何使用 Oracle 移动文本文件

    我有两个问题 1 如何从文件夹中移动文本文件 C Data inbox test txt 目标文件夹 C Data outbox test txt 2 如何获取文件夹中的目录文件列表 C Data inbox 谢谢 Oracle 提供了一个
  • 如何删除文件

    我们有一个脚本 scripts ourscript php和一个文件 media movie1 flv 当我们运行时 我们如何删除这个文件ourscript php Using unlink http php net manual en f
  • 为什么批处理文件中的 RMDIR 作为最后一个命令没有删除文件夹?

    我的 bat 文件中有以下代码 echo off xcopy Y S CD Code Release C Users USERNAME Desktop ShareIt I cls cd C Users USERNAME Desktop Sh
  • 小于或等于

    使用暂停命令我发现错误位于此代码的第一行 if choice 1 if energy gt m2enc set a enemhp enemhp m1hpd earmr pause set a energy energy m1enc set
  • 使用Git记录文件复制操作

    当我使用 git mv 在 git 中移动文件时 状态显示该文件已被重命名 即使我更改了某些部分 它仍然被认为几乎是相同的东西 这很好 因为它让我可以跟踪它的历史记录 当我复制文件时 原始文件有一些历史记录 我想将其与新副本关联起来 我尝试
  • 为什么 Laravel 中的 .env 文件配置不起作用

    DB CONNECTION mysql DB HOST 127 0 0 1 DB PORT 3306 DB DATABASE DB USERNAME root DB PASSWORD 这是我的 laravel 5 4 配置 但 php ar
  • 使用powershell计算子文件夹中具有特定名称的文件数量

    因此 我开始解决一个问题 我需要知道某个名称的子文件夹中有多少个文件 这些文件在整个目录中重复多次 我想要计算的所有文件夹都具有相同的名称 例如 Main Folder Subfolder Folder I want to count Fo
  • 批处理文件-选择选项-设置默认选项

    在下面的示例批处理文件中 我有几个选项供用户选择 另外 我想设置一个默认选项 例如 我希望用户能够点击 ENTER 然后从我的列表中选择默认选项 我选择的 假设选项 1 谢谢您的帮助 ECHO OFF selector set input
  • Python:使用Excel CSV文件仅读取某些列和行

    虽然我可以读取 csv 文件而不是读取整个文件 但如何仅打印某些行和列 想象一下这是 Excel A B C D E State Heart Disease Rate Stroke Death Rate HIV Diagnosis Rate

随机推荐

  • XAML 解析器如何识别 NameScope?

    在 XAML 解析的上下文中 我想知道解析器如何知道类型何时定义 NameScope 它是否完全依赖于 INameScope 接口 检查instance is INameScope 它是否依赖于布尔属性 XamlType IsNameSco
  • 复合主键+外键

    我有一个包含调查列表的表 PK 是 ID CREATE TABLE dbo SurveyMaster ID nvarchar 4 NOT NULL Title nvarchar 200 NULL IsActive bit NOT NULL
  • iBeacons:如何获取广播信标功率(txPower)

    iBeacons 似乎广播其 txPower 参数 报告 1 米距离处的 RSSI 功率 该参数用于计算beacon accuracy and beacon proximity属性 有关 iBeacon 广告包的详细信息 请参见here h
  • 如何防止 ion-checkbox 选择相同的项目值?

    这是一个手风琴列表菜单 在菜单的第三层 我为每个项目放置了一个复选框 此代码已经从所选项目中获取了值 但问题是当我取消选择时 它会让我获取其值 如何防止复选框选择相同的项目并在选择后取消 表单 html
  • scrapy单个蜘蛛将多个项目类传递到管道

    我是 scrapy 新手 在 items py 中 我声明了 2 个 ItemClass 分别称为 ItemClass1 和 ItemClass2 蜘蛛方法 parseUrl 获取 html 并抓取数据并将其放入相应项目类的列表中 e g
  • Corda:错误=org.hibernate.InstantiationException:没有实体的默认构造函数

    我遇到了一个问题 请帮忙 基于 M13 的 Corda 代码 我的架构代码主要用于定义架构来引用您的示例 object LegalContractSchemaV1 MappedSchema schemaFamily LegalContrac
  • jQuery - 从 DOM 中删除元素时触发事件

    我试图弄清楚当从页面中删除元素时如何执行一些js代码 jQuery some element remove remove some element from the page need to figure out how to indepe
  • PHP file_get_contents 与 php 完好无损吗?

    与使用 include 不同 include 执行文件中包含的 php 是否可以将 php 文件的内容保存到变量中 但 php 仍然完整且可执行 我的目标看起来像这样 template some imaginary include func
  • 如何获得从1到N随机排序的数字数组?

    下面的代码生成一个数组N整数随机数并将结果存储在random int array N 20 allocate array N 2 call random seed call random number array random int ar
  • 响应UIWebView点击动作调用原生代码页面

    我正在寻找一种方法来监听 UIWebView 中的操作 例如 当我点击 UIWebView 内的链接或按钮时 我想调用一个新的本机组件 例如评论页面 或者 采取其他一些操作 例如更改导航栏项目 是的 你可以这样做 实施 webView sh
  • 使 ParallelEnumerable.OrderBy 稳定排序

    我正在使用对象的整数 id 并行对对象列表进行排序OrderBy 我有一些具有相同 id 的对象 并且需要排序保持稳定 根据微软的文档 https learn microsoft com en us dotnet api system li
  • 编译时不断出现java: invalid source release: 1.9错误

    我尝试使用该网站上的各个论坛来解决此问题 但没有任何帮助 我尝试了与修复其他人的 1 8 错误类似的技术 但没有任何效果 我的源文件夹下有我的 java 类文件 没有导入 我只是想要一个基本的输出消息来确保 intelliJ 正常工作 有人
  • 对象上的 Scala F 有界多态性

    我无法在 Scala 中编写以下 F 界多态性 为什么 trait X T lt X T object Y extends X Y 我该如何表达并使其编译 看来你确实应该能够写作 trait X T lt X T object Y exte
  • 抑制 django 天真的日期时间警告

    我关心涉及日期时间模块的脚本 我必须抑制 时区处于活动状态时对象收到一个简单的日期时间 因为脚本中还有其他打印语句 我的代码如下 script from datetime import datetime date datetime now
  • gcc/diab:保留未使用的函数/部分

    我有一个项目 我想在链接阶段保留某些功能 部分 I tried static void stub enforcer void attribute used 但这是针对编译器的 而不是针对链接器的 现在链接器负责并使用了 gc section
  • C/C++、FORTRAN、下划线和 GNU Autotools

    我有关于混合语言编程 C C 和 FORTRAN 的问题 使用 gcc 和 gfortran 我搜索了很多 将 fortran 与 语言 X 并且无法解决这个问题 我不确定这是链接问题还是编译器问题 或者两者兼而有之 我创建了三个文件 并使
  • 添加包含 NA 计数和平均值的列

    我有一个数据框 我需要向其中添加另一列 该列显示该行所有其他列中 NA 的计数以及非 NA 值的平均值 我认为这可以在 dplyr 中完成 gt df1 lt data frame a 1 5 b c 1 2 NA 4 NA c c NA
  • Symfony 2 嵌入式表单集合多对多

    我有 2 个实体 用户和组 它们具有多对多的关系 组用于存储用户的角色 我正在尝试通过添加集合来创建用户编辑表单 我希望能够通过从下拉列表中选择它来添加新角色 仅限于数据库中已有的内容 用户类型 php class UserType ext
  • 将 Vector 的第一个元素移动到最后一个元素

    我想将向量的第一个元素移动到向量的末尾 v 1 2 3 4 之后应该是这样的 v 2 3 4 1 我的编译器版本是gcc版本4 4 3 Ubuntu 4 4 3 4ubuntu5 1 我知道在 Vc11 中我们可以使用 std move 来
  • 使用批处理脚本重命名目录中的多个文件

    我有大约 1000 张图像 它们的名称如 IMG 12223 我想将它们重命名为 1 2 3 4 1000 我该怎么做 我编写了一个列出文件的批处理脚本 但我不知道如何重命名每个文件 例如将名称为 IMG 12223 的第一张图像重命名为