![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-03 13:06 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求以修改日期为文件名的重命令批处理! |
| 可打印版本 2,247 / 13 |
| 第1楼 tianzizhi | 发表于 2006-11-25 05:46 |
| 高级用户 发帖 214 积分 623 | |
|
求以修改日期为文件名的重命令批处理! 求用批处理批量完成以文件创建或修改日期加时间为名的重命名文件的批处理,
如t.txt文件的修改日期为2006-11-24 14:24 则t.txt重命令为2006-11-24 14-24.txt(文件名里不允许用:,所以用-来代替) 希望大家帮帮忙,谢谢!!!! [ Last edited by tianzizhi on 2006-11-25 at 05:47 AM ] |
|
| 第2楼 youxi01 | 发表于 2006-11-25 06:32 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
@echo off
set FolderPath=F:\test echo 程序正在运行...... setlocal enabledelayedexpansion for /r %FolderPath% %%i in (*) do ( set T=%%~ti set T=!T::=-! ren "%%i" "!T!%%~xi") echo. echo 修改完毕 pause>nul |
|
| 第3楼 redtek | 发表于 2006-11-25 08:06 |
| 金牌会员 发帖 1,147 积分 2,902 | |
|
测试2楼代码~:)
精彩~:) |
|
| 第4楼 runwater | 发表于 2007-02-28 09:14 |
| 初级用户 发帖 11 积分 26 | |
|
如何保留住原文件名?????? @echo off
set FolderPath=F:\test echo 程序正在运行...... setlocal enabledelayedexpansion for /r %FolderPath% %%i in (*) do ( set T=%%~ti set T=!T::=-! ren "%%i" "!T!%%~xi") 这块如何处理呀??就是说原文件名加上文件日期 echo. echo 修改完毕 pause>nul |
|
| 第5楼 lxmxn | 发表于 2007-02-28 09:52 |
| 版主 发帖 4,938 积分 11,386 | |
|
|
|
| 第6楼 runwater | 发表于 2007-02-28 10:04 |
| 初级用户 发帖 11 积分 26 | |
|
太好了!我是初入门者,请多指教,我刚试了下,很好!
|
|
| 第7楼 runwater | 发表于 2007-02-28 10:05 |
| 初级用户 发帖 11 积分 26 | |
|
再多问句,能不能实现在当前目录下操作呢?
|
|
| 第8楼 lxmxn | 发表于 2007-02-28 10:10 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by runwater at 2007-2-27 21:05: 要操作当前目录,可以将“set FolderPath=F:\test”一句修改为“set FolderPath=.”即可。 |
|
| 第9楼 ieutk | 发表于 2007-02-28 10:51 |
| 初级用户 发帖 48 积分 107 | |
|
谢谢,又学到一招了啊!
|
|
| 第10楼 runwater | 发表于 2007-03-01 00:00 |
| 初级用户 发帖 11 积分 26 | |
|
哈哈,我也学会了!
|
|
| 第11楼 runwater | 发表于 2007-03-01 02:36 |
| 初级用户 发帖 11 积分 26 | |
|
@echo off
set FolderPath=F:\test echo 程序正在运行...... setlocal enabledelayedexpansion for /r %FolderPath% %%i in (*) do ( set T=%%~ti set T=!T::=-! ren "%%i" "%%~ni_!T!%%~xi" echo. echo 修改完毕 pause>nul Originally posted by lxmxn at 2007-2-27 09:10 PM: 哭!!!!!!!!!改成“set FolderPath=.”后出现死循环呀!!!!!幸亏我及时中断了,否则我事个盘里的文件名字会很长哟!!!!!!!!!!!!!!!!! 样例: huangshan2007-01-31 14-462007-01-31 14-462007-01-31 14-46.jpg taishan22007-01-31 14-462007-01-31 14-462007-01-31 14-46.jpg xiangshan2007-01-31 14-472007-01-31 14-472007-01-31 14-47.jgp [ Last edited by runwater on 2007-2-28 at 01:38 PM ] |
|
| 第12楼 6622186 | 发表于 2007-03-01 12:16 |
| 高级用户 发帖 411 积分 894 | |
|
写得非常好, 不过不支持空格(要使用短文件名), 并且每次运行前都要修改, 我l加了引号,并改为从键盘手动输入, 略加修改, 望大家不要见笑。
@echo off title 将文件以日期命名 set /p chgdir=请输入目录: echo 程序正在运行...... setlocal enabledelayedexpansion for /r "%chgdir%" %%i in (*) do ( set T=%%~ti set T=!T::=-! ren "%%i" "!T!%%~xi") echo. echo 修改完毕 pause>nul |
|
| 第13楼 Eblis | 发表于 2007-03-01 17:45 |
| 中级用户 发帖 108 积分 251 来自 湖南==>广州 | |
|
set T=!T::=-! lxmxn能不能解释下?``这句没明白``
|
|
| 第14楼 slore | 发表于 2007-03-02 00:52 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
set的帮助有啊
作用是把:替换成- |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |