中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 09:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:文件夹内特殊文件更名为:文件名+当前日期 查看 1,133 回复 9
楼 主 求助:文件夹内特殊文件更名为:文件名+当前日期 发表于 2010-05-21 08:42 ·  中国 山东 联通
贫困用户
积分 -3
发帖 30
注册 2007-08-13 22:25
18年会员
UID 95082
性别 男
状态 离线
要求:文件夹内不带文件名+日期的文件名更名为:文件名+当前日期,带文件名+日期(不更名)

既求助:文件名更名为:文件名20100521.zip (文件名是任意名,“20100521”是当前日期)
请帮助修改:ren *.zip "%date:~0,4%%date:~5,2%%date:~8,2%.zip"


达到列:aaa.zip更名为aaa20100521.zip(文件名是任意名,“20100521”是当前日期)
bbb.zip更名为bbb20100521.zip(文件名是任意名,“20100521”是当前日期)
或用其他批处理达到更名为:文件名+当前日期.zip,及更名为:当前日期+文件名.zip
主要要:文件名+当前日期.zip

[ Last edited by lqs623 on 2010-5-21 at 19:30 ]
2 发表于 2010-05-21 14:15 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
%date%用字符串截取+rename命令 很简单吧
freedom!
3 发表于 2010-05-21 20:47 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"
4 发表于 2010-05-21 23:09 ·  中国 四川 攀枝花 电信
初级用户
★★
积分 147
发帖 131
注册 2008-09-22 23:54
17年会员
UID 126352
性别 男
状态 离线
你的文件是不是被打开的,重命名之前应该检查文件是否被打开的。或者测试ren 更名后的返回状态(errorlevel)的值.
freedom!
5 发表于 2010-05-22 11:30 ·  中国 台湾 台湾宽频通讯顾问股份有限公司
初级用户
★★
积分 68
发帖 64
注册 2009-05-23 20:43
17年会员
UID 145803
性别 男
状态 离线
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip" >> renfile.bat
call renfile.bat
6 发表于 2010-05-22 13:05 ·  中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
Originally posted by Hanyeguxing at 2010-5-21 20:47:
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"

这个代码不是执行的,是先用来测试的,看到显示正确后,去掉echo.正式执行就可以。之所以这样写,是因为该代码我未测试。
for %%a in (*.zip) do ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"
7 发表于 2010-05-22 20:41 ·  中国 山东 东营 联通
贫困用户
积分 -3
发帖 30
注册 2007-08-13 22:25
18年会员
UID 95082
性别 男
状态 离线
Originally posted by pdanniel66 at 11:30 AM:
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip" >> renfile.bat
call renfile.bat


非常感谢!更名可以用
8 发表于 2010-05-23 07:40 ·  中国 山东 东营 联通
贫困用户
积分 -3
发帖 30
注册 2007-08-13 22:25
18年会员
UID 95082
性别 男
状态 离线
Originally posted by pdanniel66 at 11:30 AM:
for %%a in (*.zip) do echo.ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip" >> renfile.bat
call renfile.bat


再求助:请问:
1、能否用修改日期或是用创建日期排除以前的。只更名某某修改日期或是某某创建日期以后的(某某修改日期或创建日期以后的文件+当前日期)
2、能否排除已带有日期的文件,只更名不带日期的文件(不带日期的文件+当前日期)

[ Last edited by lqs623 on 2010-5-23 at 09:14 ]
9 发表于 2010-05-23 08:50 ·  中国 山东 东营 联通
贫困用户
积分 -3
发帖 30
注册 2007-08-13 22:25
18年会员
UID 95082
性别 男
状态 离线
Originally posted by Hanyeguxing at 01:05 PM:

这个代码不是执行的,是先用来测试的,看到显示正确后,去掉echo.正式执行就可以。之所以这样写,是因为该代码我未测试。
for %%a in (*.zip) d ... 


我这确实不行请您实际操作一下
下面是我用您的两个批处理的操作情况:
1、Hanyeguxing11.bat:
@echo off
set a=%date:~0,4%%date:~5,2%%date:~8,2%
for %%a in (*.zip) do ren "%%a" "%%~na%a%.zip"

2、Hanyeguxing22.bat:
for %%a in (*.zip) do ren "%%a" "%%~na%date:~0,4%%date:~5,2%%date:~8,2%.zip"

更名前文件夹目录树为:
文件夹 PATH 列表
卷序列号码为 71F2E346 1CBB:7D24
C:\BT1\新建文件夹
showtim11.zip
showtim.zip
showtime.zip
vcccccccc.zip
复件 新建 文本文档.zip
新建 文本文档.zip
gghhhh.zip
Hanyeguxing11.bat
Hanyeguxing22.bat

没有子文件夹

用Hanyeguxing11.bat:更名后文件夹目录树为:
文件夹 PATH 列表
卷序列号码为 71F2E346 1CBB:7D24
C:\BT1\新建文件夹
showtime20100523.zip
新建 文本文档20100523.zip
复件 新建 文本文档20100523.zip
showtim2010052320100523.zip
vcccccccc2010052320100523.zip
gghhhh2010052320100523.zip
showtim11201005232010052320100523.zip
Hanyeguxing11.bat
Hanyeguxing22.bat

没有子文件夹

用Hanyeguxing22.bat:更名后文件夹目录树为:
文件夹 PATH 列表
卷序列号码为 71F2E346 1CBB:7D24
C:\BT1\新建文件夹
新建 文本文档20100523.zip
复件 新建 文本文档20100523.zip
showtim1120100523.zip
vcccccccc2010052320100523.zip
showtim2010052320100523.zip
gghhhh2010052320100523.zip
showtime201005232010052320100523.zip
Hanyeguxing11.bat
Hanyeguxing22.bat

没有子文件夹
10 发表于 2010-05-23 08:53 ·  中国 山东 东营 联通
贫困用户
积分 -3
发帖 30
注册 2007-08-13 22:25
18年会员
UID 95082
性别 男
状态 离线
Originally posted by Hanyeguxing at 01:05 PM:

这个代码不是执行的,是先用来测试的,看到显示正确后,去掉echo.正式执行就可以。之所以这样写,是因为该代码我未测试。
for %%a in (*.zip) d ... 


再求助:请问:
1、能否用修改日期或是用创建日期排除以前的。只更名某某修改日期或是某某创建日期以后的(某某修改日期或创建日期以后的文件+当前日期)
2、能否排除已带有日期的文件,只更名不带日期的文件(不带日期的文件+当前日期)

[ Last edited by lqs623 on 2010-5-23 at 09:13 ]
论坛跳转: