中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求以修改日期为文件名的重命令批处理!
作者:
标题: 求以修改日期为文件名的重命令批处理! 上一主题 | 下一主题
tianzizhi
高级用户




积分 622
发帖 214
注册 2006-9-22
状态 离线
『楼 主』:  求以修改日期为文件名的重命令批处理!

求用批处理批量完成以文件创建或修改日期加时间为名的重命名文件的批处理,
如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 ]

2006-11-25 05:46
查看资料  发送邮件  发短消息 网志  OICQ (419503077)  编辑帖子  回复  引用回复
youxi01
高级用户




积分 846
发帖 247
注册 2006-10-27
来自 湖南==》广东
状态 离线
『第 2 楼』:  

@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 分数: +3  时间:2006-11-25 08:04


2006-11-25 06:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 3 楼』:  

测试2楼代码~:)
改名之前:
2006-11-24  18:53                82 1.xml.love
2006-11-24  18:52                82 a.xml
2006-11-24  18:50               330 run.bat
2006-11-24  19:02               239 t.bat

改名的文件名为  T.BAT,执行改名操作:

2006-11-24  18:50               330 2006-11-24 18-50.bat
2006-11-24  18:52                82 2006-11-24 18-52.xml
2006-11-24  18:53                82 2006-11-24 18-53.love
2006-11-24  19:02               239 2006-11-24 19-02.bat
精彩~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-25 08:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
runwater
初级用户





积分 26
发帖 11
注册 2007-2-28
状态 离线
『第 4 楼』:  如何保留住原文件名??????

@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

2007-2-28 09:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 5 楼』:  


ren "%%i" "%%~ni_!T!%%~xi"


2007-2-28 09:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
runwater
初级用户





积分 26
发帖 11
注册 2007-2-28
状态 离线
『第 6 楼』:  

太好了!我是初入门者,请多指教,我刚试了下,很好!

2007-2-28 10:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
runwater
初级用户





积分 26
发帖 11
注册 2007-2-28
状态 离线
『第 7 楼』:  

再多问句,能不能实现在当前目录下操作呢?

2007-2-28 10:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by runwater at 2007-2-27 21:05:
再多问句,能不能实现在当前目录下操作呢?

  要操作当前目录,可以将“set FolderPath=F:\test”一句修改为“set FolderPath=.”即可。

2007-2-28 10:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ieutk
初级用户




积分 107
发帖 48
注册 2006-11-30
状态 离线
『第 9 楼』:  

谢谢,又学到一招了啊!

2007-2-28 10:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
runwater
初级用户





积分 26
发帖 11
注册 2007-2-28
状态 离线
『第 10 楼』:  

哈哈,我也学会了!

2007-3-1 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
runwater
初级用户





积分 26
发帖 11
注册 2007-2-28
状态 离线
『第 11 楼』:  

@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

  Quote:
Originally posted by lxmxn at 2007-2-27 09:10 PM:

  要操作当前目录,可以将“set FolderPath=F:\test”一句修改为“set FolderPath=.”即可。

哭!!!!!!!!!改成“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 ]

2007-3-1 02:36
查看资料  发短消息 网志   编辑帖子  回复  引用回复
6622186
高级用户





积分 894
发帖 411
注册 2007-2-17
状态 离线
『第 12 楼』:  

写得非常好, 不过不支持空格(要使用短文件名), 并且每次运行前都要修改, 我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

2007-3-1 12:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Eblis
中级用户




积分 251
发帖 108
注册 2007-1-7
来自 湖南==>广州
状态 离线
『第 13 楼』:  

set T=!T::=-!    lxmxn能不能解释下?``这句没明白``



DOS新人.多多指導
2007-3-1 17:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 14 楼』:  

set的帮助有啊

作用是把:替换成-

2007-3-2 00:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: