当前位置: 首页 > news >正文

巧妙使用cmd和xls批量重命名文件

转载自【https://gist.github.com/ameizi/6c72e3dfaade73154326】


1. 迅速切换到目标文件目录

C:\Windows\System32>cd /d E:\images

E:\images>

2. 列出目录下的内容重定向到xls文件中

E:\images>dir /b > rename.xls

E:\images>

3. 使用Excel打开rename.xls文件

其内容为:

x1s - 副本 (2).png
x1s - 副本 (3).png
x1s - 副本 (4).png
x1s - 副本 (5).png
x1s - 副本 (6).png
x1s - 副本.png
x1s.png

4. 整理数据

AB
x1s - 副本 (2).pngx1s-1.png
x1s - 副本 (3).pngx1s-2.png
x1s - 副本 (4).pngx1s-3.png
x1s - 副本 (5).pngx1s-4.png
x1s - 副本 (6).pngx1s-5.png
x1s - 副本.pngx1s-6.png
x1s.pngx1s-7.png

注:

A列数据为从命令行导出的文件名 B为重命名后的文件名

5. 编写公式,生成重命名批处理脚本

="rename "&""""&A1&""""&" "&B1

="rename "&CHAR(34)&A1CHAR(34)&" "&B1

注:在Excel中单个双引号用四个双引号符号表示即""""或者使用CHAR(34)而单引号则用"'"表示

在C1单元格上输入以上公式,回车后最终生成的数据为

rename "x1s - 副本 (2).png" x1s-1.png

按着C1单元格下拉依次生成,最终将看到下面的内容

ABC
x1s - 副本 (2).pngx1s-1.pngrename "x1s - 副本 (2).png" x1s-1.png
x1s - 副本 (3).pngx1s-2.pngrename "x1s - 副本 (3).png" x1s-2.png
x1s - 副本 (4).pngx1s-3.pngrename "x1s - 副本 (4).png" x1s-3.png
x1s - 副本 (5).pngx1s-4.pngrename "x1s - 副本 (5).png" x1s-4.png
x1s - 副本 (6).pngx1s-5.pngrename "x1s - 副本 (6).png" x1s-5.png
x1s - 副本.pngx1s-6.pngrename "x1s - 副本.png" x1s-6.png
x1s.pngx1s-7.pngrename "x1s.png" x1s-7.png

其中C列数据则为用公式下拉生成的内容.在xls文件同目录下新建.bat文件,拷贝上面的内容后保存,双击执行即可.


相关文章:

  • 很有用的cv牛人的网址和主要贡献
  • 儿童学编程
  • 我的python学习
  • windows下使用wget下载文件夹
  • Windows系统下onedrive文件夹名字过长且包含空格解决方案
  • Cuda中的cuda_Malloc函数
  • CUDA的纹理内存讲解
  • 指针游戏1 最简单的指针游戏
  • 指针游戏2 传递地址的指针
  • CUDA Handbook 补充 CPU和GPU硬件架构1
  • CUDA Handbook 补充 CPU和GPU硬件架构2
  • CUDA Handbook 补充 CPU和GPU硬件架构3
  • CUDA Handbook 补充 CPU和GPU硬件架构4
  • CUDA Handbook 补充 CUDA软件架构
  • CUDA纹理1
  • JS 中的深拷贝与浅拷贝
  • Angular 响应式表单 基础例子
  • gf框架之分页模块(五) - 自定义分页
  • IndexedDB
  • JAVA SE 6 GC调优笔记
  • JavaScript DOM 10 - 滚动
  • Java的Interrupt与线程中断
  • java取消线程实例
  • js如何打印object对象
  • Laravel Telescope:优雅的应用调试工具
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 坑!为什么View.startAnimation不起作用?
  • 蓝海存储开关机注意事项总结
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何设计一个微型分布式架构?
  • 如何选择开源的机器学习框架?
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • const的用法,特别是用在函数前面与后面的区别
  • hi-nginx-1.3.4编译安装
  • 如何正确理解,内页权重高于首页?
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​Java并发新构件之Exchanger
  • ​低代码平台的核心价值与优势
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # Panda3d 碰撞检测系统介绍
  • # 达梦数据库知识点
  • #{}和${}的区别是什么 -- java面试
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (备忘)Java Map 遍历
  • (第一天)包装对象、作用域、创建对象
  • (四)c52学习之旅-流水LED灯
  • (已解决)什么是vue导航守卫
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ***监测系统的构建(chkrootkit )
  • **PHP二维数组遍历时同时赋值