[批处理]自动按日期重命名文件名

按以下方式操作(以WINDOWS 7操作系统为例)

1、进入需要重命名文件的文件夹。

2、在文件夹的空白处单击鼠标右键-排序方式-修改日期。

3、全选(可按住鼠标左键拉动全选或者按CTRL+A全选)

4、将鼠标光标箭头移动到排列首位的文件上再单击鼠标右键-重命名-输入想要命名的文件名,回车确认。则所有文件会按顺序全部重命名(余下文件会自动在输入的文件名后加上序号)

打开文件存放的文件夹,右键文件夹内空白处,查看设置为:详细信息, 然后点击 上面横向的标签,以修改时间排列, 现在CTRL+A 全选, 在第一个文件上面右击,选择重命名,随便给个名称, 最重要的地方就是 重命名时 填完文件名称后 按着SHIFT键 再回车确定重命名.

这是你的文件就按照修改时间来排列了,你在用批量重命名软件进行你所要的 文件名形式..

目录简述:本子到手了发现文件名乱七八糟怎么办?

使用方法:

程序参数设置:

新学到的知识:

简述:

最近在整理我爷爷拍的相片,大多是在02-06年间拍的相片

但是在整理起来发现难度很大,因为我爷爷的相机是联想很早很早出品的一款相机

在文件名编制上有些缺陷,每次照相得到的相片编号都是按天编排

即每天一个文件夹,只是在每个文件夹中按001,002,003这样排下去

但是问题在于在不同文件夹中,他们都是相同的文件名,全是001,001,001,001,如果就这样分别放到不同文件夹下也可以

但是由于相片数量巨大一共有六千多张, 被分别放到了将近三百个文件夹中,查看起来异常繁琐。。。

而且无法把这些照片统一放到一个文件夹下,因为他们有大量都是相同文件名的,无法放到同一文件夹下

所以需要将他们所有照片进行重新命名,并为他们生成一个绝对唯一的文件名

即使把这六千张照片全放到一个文件夹下,也不会重名而无法替换

并且还要保持他们原有的特性,如001,002,003这样的顺序,所有有了这个bat

原有目录结构:异常繁杂,需要重新整理

使用方法:

把要处理的文件夹拖到cmd下

开始执行文件夹重命名操作:

重命名预览:输入y以外的任何字符,都将退回初始状态(不区分大小写)

程序参数设置:

1,可设置文件过滤器,即源文件的过滤

set filter="*.*"

如只需要将JPG和AVI文件进行替换,则可写为:(中间有空格,末尾不要加空格)

set filter="*.jpg" "*.avi"

2,源文件名替换,src为要替换的字符串,dst为要替换为的字符串,dst为空则删除src字符串set replacesrc=DSC0

set replacedst=

当前设置就是将源文件名中的DSC0删去,如果想要把源文件名中所有“0”替换成“-”则可写为:

set replacesrc=0

set replacedst=-

3,是否开启执行预览?(开启:N/关闭:Y)set isisdo=N

即在执行真正更名操作前是否先查看预览,如果开启预览,则会在用户确认后再真正执行操作;反之不开启预览则直接进行更名操作

如果文件数量非常多,预览时间将比较长,建议关闭预览(默认开启预览)

新学到的知识:

1,判断用户输入的路径是否为空的方法:

可以使用

set filepath=nul&set /p filepath=

if "%filepath:"=%"=="nul" cls&echo 不能为空!&goto start

先赋值一个默认值,再等待用户输入,如果直接回车则不执行赋值语句,其结果还是为之前赋的初值

若要使用"双引号发判断,还需要先把变量中所有"双引号去掉,再统一加上,

这样不管原字符串是否有双引号,最终都会加上双引号,并且只有一对双引号

如果不过滤掉双引号,那么一旦用户输入一个双引号,程序就会直接退出,因为出现了错误

%filepath%的值为“"”这个双引号,那么if语句就成了

if """=="nul",这个语句会使前两个双引号进行配对,而最后一个双引号就成了错误字符,就直接导致程序退出

所以双引号要成对出现

2,使用call实现变量嵌套(具体讨论)

经过反复实验最终解决方法是:call set file=!datatime!-%%filesrc:!datatime!-=%%

实现了变量嵌套替换。

(先将原始文件名中的datatime删除,再在前面加上datatime,而不是一味的累加,实现只有一个datatime)

但是从理论上来讲,filesrc在for中也发生变化,是不能使用%来标示变量的,但是使用call配合%%却没有任何错误

百思不得其解,只能先了解这么用好了

批处理代码,保存至bat文件运行即可:

@echo offtitle 自动按日期重命名文件名  by:小小沧海2012-1-29setlocal EnableDelayedExpansion::文件过滤器,请自行按需要更改,如需过滤JPG和AVI文件,则为"*.jpg" "*.avi"set filter="*.*"::源文件名替换,src为要替换的字符串,dst为要替换为的字符串,dst为空则删除src字符串set replacesrc=DSC0set replacedst=::是否开启执行预览?(开启:N/关闭:Y)set isisdo=N::----------------------------------------------------------------:start::控制变量:“是否执行”,当为Y时真正执行更名操作,否则显示操作预览set isdo=%isisdo%echo 请把要处理的文件夹拖入此处set filepath=nul&set /p filepath=::检查用户输入是否为空,同时还有过滤掉含有空格的"符号if "%filepath:"=%"=="nul" cls&goto start

::检查用户输入是否为多个空格或只有双引号

set filepath=%filepath:"=%if "%filepath: =%"=="" cls&goto startcd /d %filepath%::检查用户输入的文件夹是否是一个合法存在的文件夹if %ERRORLEVEL%==1 cls&echo ×输入的文件夹错误!&goto start:doecho 正在准备开始处理,请稍后...::取得目标目录下所有符合条件的文件的完全路径名for /f "delims=" %%n in ('dir /s /b /a:-d %filter%') do (  ::循环遍历取得当前文件的信息,按行分割并过滤掉以空格开头的行

for /f "eol=  delims=" %%s in ('dir /-c "%%n"') do (    ::再把过滤后的一行字符串按空格进行分割,取得日期,时间和原文件名

for /f "tokens=1-2 delims= " %%i in ("%%s") do (      ::构造前缀字符串

set data=%%i      set time=%%j      set datatime=!data:-=!_!time::=!

::构造原文件名字符串,同时替换相应字符

set filesrc=%%~nxn      set filesrc=!filesrc:%replacesrc%=%replacedst%!      ::构造最终文件名,并使用call将原有的前缀字符串替换掉

call set file=!datatime!-%%filesrc:!datatime!-=%%      ::构造结果为:日期_时间-原替换后文件名

if /i !isdo!==y (        echo 执行更名:"%%~nxn"→"!file!"        ::真正执行重命名的语句

ren "%%n" "!file!"

) else (        echo 预览更名:"%%~nxn"→"!file!"

)

)

)

)::如果“是否执行”不为Y则询问是否真正执行操作if /i %isdo% NEQ y (  echo -----------------------------  echo.&echo 以上为执行预览,是否执行[是:Y/否:N]  set isdo=n&set /p isdo=  if /i !isdo!==y (goto do) else (cls&goto start)

)echo -----------------------------echo.&echo 处理完成!pause>nulcls&goto start

View Code

——原文发表于2012-1-29 01:32

如果您认为本文对得起您所阅读他所花的时间,欢迎点击右下角↘ 推荐。您的支持是我继续写作最大的动力,谢谢

作者:小小沧海

出处:http://www.cnblogs.com/xxcanghai/姓名:沧海

联系我:xxcanghai@gmail.com

Github:github.com/xxcanghai

自我介绍:JS前端开发,网络工程专业,致力于推广TypeScript,正在学习NodeJs,VueJs。目前就职于美团

六句代码实现对文件按时间的重命名,

2014年11月06日 21:30:36

阅读数:1973

在很多程序中我们需要对文件进行按时间顺序的重命名。

在python只要六句就可以实现这个功能(当然开始的import不算在内)

import os.path

import time

import glob

from os import rename

name_time_list=[]

for filename in glob.glob('*.bmp'):

name_time_list.append((time.ctime(os.path.getmtime(filename)),filename))

name_time_list.sort()

for i in range(len(name_time_list)):

os.rename(name_time_list[i][1],'cam%d.bmp'%(i))

这样导入PDF就不会乱七八糟的了

filepath直接指定到文件名吗_快速实现对文件按时间的重命名相关推荐

  1. Java 文件操作二(重命名、设置只读、是否存在、指定目录中创建文件、获取文件修改日期、创建文件、文件路径比较)

    文件重命名 import java.io.File;public class Main {public static void main(String[] args) {File oldName = ...

  2. python移动文件到另一个文件夹若有同名文件更改文件名_Python 创建、复制、移动、删除和重命名文件和文件夹...

    我们本文学习使用Python对电脑文件和文件夹进行操作,包括创建.复制.移动.删除和重命名等操作. os.mkdir() 创建文件夹 # 引入 os 模块,下面的代码都默认已引入 os.path.ex ...

  3. Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例(增删改查排序之选择指定列、根据条件选择特定数据、赋值、列名重命名、修改列数据、处理缺失值、列合并、分组之详细攻略

    Python语言学习之pandas:DataFrame二维表的简介.常用函数.常用案例(增删改查排序之选择指定列.根据条件选择特定数据.赋值.列名重命名.修改列数据.处理缺失值.列合并.分组之详细攻略 ...

  4. filepath直接指定到文件名吗_PyTest运行指定的测试集

    帮忙多点点文章末右下角的"好看"支持下,也可以将本文分享到朋友圈或你身边的朋友,谢谢 在PyTest中,提供了几种从命令行运行指定的测试集方式. 方式一,文件/模块级运行,即指定运 ...

  5. 服务器上无法重命名文件夹,linux如何重命名文件和文件夹_网站服务器运行维护...

    win10显示网络电缆被拔出怎么办_网站服务器运行维护 win10显示网络电缆被拔出的解决方法是:1.打开[设备管理器],展开[网络适配器]选项:2.打开网卡属性窗口,切换到[电源管理]选项,并取消勾 ...

  6. 教你如何整理下载的图片素材文件名太长太杂乱问题,怎么批量随机重命名的步骤解析

    很多时候从网络上下载了大量的图片,但文件名太长也太杂乱了要怎么办?用什么方法可以批量的给文件重命名呢?今天就跟小编一起来学学如何节省时间并快速的修改文件名吧. 先准备需要使用的工具"云炫文件 ...

  7. 如何将图片一键重命名按顺序_再发一个多目录下图片按创建时间批量重命名的code...

    在筛选比较好的照片时中间排序出现断档,结果手贱重命名时候把图片时序搞乱了,直接GG.还好写了个code拯救了一下.总的来说就是把命名乱掉的图片先按照系统时间戳进行升序排列,再根据相应顺序进行重命名. ...

  8. 浏览器点击下载文件时,后端重命名文件名

    前言 上传文件时,文件服务器会给文件重新生成一个一串英文字符的名称,导致前端使用a标签下载这个文件时,文件内容是原来的内容,但是下载的文件名是一串英文字符,很不好的用户体验.而且download也不是 ...

  9. filepath直接指定到文件名吗_FilePath不同含义

    通常,目录的字符含义: "." -- 代表目前所在的目录. ".." -- 代表上一层目录. "/" -- 代表根目录. 一. File 的 ...

最新文章

  1. 高并发:RocketMQ 削峰实战
  2. 一名提高选手的数论之路(一)
  3. 小红伞和NOD32基于源码的免杀经验总结
  4. C#期末考试题,图书系统
  5. volatile 关键字解析
  6. 使用ant触发Tomcat的reload操作
  7. linux7安装EMC的多路径,Oracle Linux 7.8 多路径(Multipath)+Udev绑定磁盘
  8. jupyter notebook使用入门2——创建一个基于scikit-Learn的线性预测ipynb文件
  9. 20220123:力扣第277场周赛(上)
  10. 《2020年中国互联网网络安全报告》:90%的小程序存在安全隐患
  11. excel 数组公式
  12. JS学习之路系列总结四象阵(此文犹如武林之中的易筋经,是你驰骋IT界的武功心法,学会JS五大阵法就学会了JS,博主建议先学三才阵)
  13. 为Go语言GC正名-20秒到100微妙的演变史
  14. vcode去除分号和双引号方法
  15. 微信小程序RSA非对称加密。
  16. 一些大数据学习书籍pdf
  17. Wince Battery driver
  18. 计算电费(厦大PAT)
  19. 壕!程序员摆25台iPhone X求婚 闺蜜1人1台
  20. SRAM和DRAM存储原理

热门文章

  1. 宠物店小程序开发线上预约寄养洗护商城
  2. 连接无限·协同无界|融云首届全球企业通信云大会 WECC 来了
  3. yjh的实习生涯之自动化测试(1)---初识uiautomator(uiautomator的使用和基本方法)
  4. yolov5-6.0训练自己的模型
  5. 当当狸智能显微镜单体轻巧便携
  6. 【第1131期】对于网络爬虫技术的攻与防
  7. MGCP /H.248 鉴权认证
  8. 高级程序员如何面对职场压力 1 --老板是猪头
  9. 在线教育直播平台除了小鹅通,没有其他了吗?
  10. matlab 定义张量,如何使用MATLAB作张量运算