在Windows批处理中使用创建日期和时间重命名文件
发布时间:2020-12-13 20:42:42 所属栏目:Windows 来源:网络整理
导读:我有一个包含数千个pdf和tif的目录树.一个文件夹可能包含多个pdf或tif,在这种情况下,它们编号为.pdf,2.pdf等…我必须使它们可用并确保它们是最先处理的最旧文件 – 所以我想用它们重命名它们创建日期和时间(1.pdf – 20150415481876.pdf): 目前我用 @echo o
我有一个包含数千个pdf和tif的目录树.一个文件夹可能包含多个pdf或tif,在这种情况下,它们编号为.pdf,2.pdf等…我必须使它们可用并确保它们是最先处理的最旧文件 – 所以我想用它们重命名它们创建日期和时间(1.pdf – > 20150415481876.pdf):
目前我用 @echo off set datetime=%~t1 set name=%~n1 set extension=%~x1 set year=%datetime:~6,4% set month=%datetime:~3,2% set day=%datetime:~0,2% set hour=%datetime:~11,2% set min=%datetime:~14,2% ren %1 "%year%%month%%day%%hour%%min%%name%%extension%" 现在可以正确地将文件重命名为1.tif到2014052513241.tif(文件创建于25.05.2014 13:24).但是,如果我用batch.bat * .tif调用批处理,我如何能够在同一个文件夹中处理多个文件(例如1.tif 2.tif 3.tif)? @if (@X)==(@Y) @end /* JScript comment @echo off set "extension=tiff" set "directory=c:somedir" pushd "%directory%" setlocal enableDelayedExpansion for %%a in (*%extension%) do ( for /f %%# in ('cscript //E:JScript //nologo "%~f0" %%a') do set "cdate=%%#" echo ren "%%a" "!cdate!%%~xa" ) rem cscript //E:JScript //nologo "%~f0" %* exit /b %errorlevel% @if (@X)==(@Y) @end JScript comment */ FSOObj = new ActiveXObject("Scripting.FileSystemObject"); var ARGS = WScript.Arguments; var file=ARGS.Item(0); var d1=FSOObj.GetFile(file).DateCreated; d2=new Date(d1); var year=d2.getFullYear(); var mon=d2.getMonth(); var day=d2.getDate(); var h=d2.getHours(); var m=d2.getMinutes(); var s=d2.getSeconds(); var ms=d2.getMilliseconds(); if (mon<10){mon="0"+mon;} if (day<10){day="0"+day;} if (h<10){h="0"+h;} if (m<10){m="0"+m;} if (s<10){s="0"+s;} if (ms<10){ms="00"+ms;}else if(ms<100){ms="0"+ms;} WScript.Echo(""+year+mon+day+h+m+s+ms); 设置你自己的扩展和目录,将目录中给定扩展名的所有文件重命名为创建日期.格式为YYYYMMDDhhmm.Renaming被回显,所以你可以看到一切是否正常.如果是从第9行删除回声字. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2003 – 无法删除Windows 2003 Server中的只
- 在Tkinter中的Toplevel:阻止两个Windows打开
- Windows 安装 Scoop
- 错误:软件包“Microsoft SQL Management Studio软件包”加
- Windows – 3月10日补丁星期二似乎导致SQL Server客户端连接
- Windows – Euler问题的性能问题和Int64类型的递归
- windows-server-2012 – Windows Server 2012上的FTP服务器
- IIS中死循环的解决方法(Dllhost.exe占用CPU100%解决办法)
- active-directory – 执行到2012 FL Active Directory域/林
- windows – 带有透明位图的GDI DrawImage()到打印机