标题: [文件操作] [已解决]批处理如何根据日期重命名文件? [打印本页]
作者: a194180 时间: 2013-11-2 09:40 标题: [已解决]批处理如何根据日期重命名文件?
本帖最后由 a194180 于 2013-11-3 17:19 编辑
我是搞机械设计的,对计算机批处理只是皮毛。
目前单位要对图纸和技术资料进行统一管理,我建立了一个ftp服务器,大家将图纸按照所属关系放在里面比如:机械部分\重庆大兴机械厂\减速机01\
在减速机01目录下就放置它相关的图纸,现在我是用bat重命名命令在每天晚上10点钟,对服务器备份(把图纸原来的名字后面加上当天的日期),但是第二天又会增加第二天的日期,所以搞的文件名越来越长,
有没有一种办法只重命名当天的文件
作者: DAIC 时间: 2013-11-2 09:58
把你的代码贴出来看看
作者: foxJL 时间: 2013-11-2 10:47
命名的日期格式是怎样的?
作者: a194180 时间: 2013-11-2 10:54
本帖最后由 foxJL 于 2013-11-2 14:53 编辑
我的代码:- @echo off 复制正在进行中.....请稍候.....
-
-
- rem 获取日期(假设系统日期格式为yyyy-mm-dd)
-
- set ThisDay=%date:~0,4%%date:~5,2%%date:~8,2%
-
-
-
- rem 获取时间
-
-
- if "%time:~0,2%" lss "10" (
- set ThisTime=0%time:~1,1%%time:~3,2%)
- else
-
- (set ThisTime=%time:~0,2%%time:~3,2%
- )
-
- set t=%ThisDay%
-
- rem 复制并重命名
-
- setlocal enabledelayedexpansion
-
- for /f "delims=*" %%i in ('dir/s/b/a-d d:\0001\') do ren "%%i" "%%~ni%t%%%~xi"
复制代码
作者: a194180 时间: 2013-11-2 10:57
运行次数多了就是这样的
作者: a194180 时间: 2013-11-2 11:04
每运行一次就会在后面多一个日期
我想命名格式是这样的
文件名+日期
比如:中心轴.pdf是2013年10月20日上传的 当天晚上10点钟 自动命名为:中心轴20131020.pdf
第二天设计变更了,又传了一次 中心轴.pdf ,这天晚上自动命名为:中心轴20131021.pdf
这样的话就可以按照文件名排序是很容易就知道什么时候变更的
作者: foxJL 时间: 2013-11-2 11:08
建议楼主用一个_符号把前面的名字和日期时间分开,下次命名的时候判断文件名里面是否有了_符号,如果有则不用重新命名了
作者: a194180 时间: 2013-11-2 13:44
非常感谢超级版主 foxJL 在您的提醒下 终于解决了。谢谢
作者: a194180 时间: 2013-11-2 13:44
本帖最后由 foxJL 于 2013-11-2 14:53 编辑
最后的程序- @echo off 复制正在进行中.....请稍候.....
-
-
- rem 获取日期(假设系统日期格式为yyyy-mm-dd)
-
- set ThisDay=%date:~0,4%%date:~5,2%%date:~8,2%
-
- rem 获取时间
-
- if "%time:~0,2%" lss "10" (
- set ThisTime=0%time:~1,1%%time:~3,2%)
- else
-
- (set ThisTime=%time:~0,2%%time:~3,2%
- )
-
- set t=%ThisDay%
- set a=%_%
- set b=%a%_%t%
-
- rem 复制并重命名
-
- setlocal enabledelayedexpansion
-
-
- :newname
-
- for /f "delims=_" %%i in ('dir/s/b/a-d d:\0001\') do ren "%%i" "%%~ni%b%%%~xi"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |