中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 14:11
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求以修改日期为文件名的重命令批处理! 查看 2,250 回复 13
楼 主 求以修改日期为文件名的重命令批处理! 发表于 2006-11-25 05:46 ·  中国 江苏 南京 电信
高级用户
★★
积分 623
发帖 214
注册 2006-09-22 20:48
19年会员
UID 63387
状态 离线
求用批处理批量完成以文件创建或修改日期加时间为名的重命名文件的批处理,
如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 发表于 2006-11-25 06:32 ·  中国 广东 清远 联通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
19年会员
UID 68504
性别 男
来自 湖南==》广东
状态 离线
@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
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +3 2006-11-25 08:04
3 发表于 2006-11-25 08:06 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
测试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,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
4 如何保留住原文件名?????? 发表于 2007-02-28 09:14 ·  中国 河北 电信
初级用户
积分 26
发帖 11
注册 2007-02-28 07:17
19年会员
UID 80380
性别 男
状态 离线
@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 发表于 2007-02-28 09:52 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
ren "%%i" "%%~ni_!T!%%~xi"
6 发表于 2007-02-28 10:04 ·  中国 河北 电信
初级用户
积分 26
发帖 11
注册 2007-02-28 07:17
19年会员
UID 80380
性别 男
状态 离线
太好了!我是初入门者,请多指教,我刚试了下,很好!
7 发表于 2007-02-28 10:05 ·  中国 河北 电信
初级用户
积分 26
发帖 11
注册 2007-02-28 07:17
19年会员
UID 80380
性别 男
状态 离线
再多问句,能不能实现在当前目录下操作呢?
8 发表于 2007-02-28 10:10 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by runwater at 2007-2-27 21:05:
再多问句,能不能实现在当前目录下操作呢?

  要操作当前目录,可以将“set FolderPath=F:\test”一句修改为“set FolderPath=.”即可。
9 发表于 2007-02-28 10:51 ·  中国 广东 东莞 电信
初级用户
积分 107
发帖 48
注册 2006-11-30 12:06
19年会员
UID 72174
性别 男
状态 离线
谢谢,又学到一招了啊!
10 发表于 2007-03-01 00:00 ·  中国 河北 保定 联通
初级用户
积分 26
发帖 11
注册 2007-02-28 07:17
19年会员
UID 80380
性别 男
状态 离线
哈哈,我也学会了!
11 发表于 2007-03-01 02:36 ·  中国 河北 保定 联通
初级用户
积分 26
发帖 11
注册 2007-02-28 07:17
19年会员
UID 80380
性别 男
状态 离线
@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=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 ]
12 发表于 2007-03-01 12:16 ·  中国 湖北 潜江 电信
高级用户
★★★
积分 894
发帖 411
注册 2007-02-17 12:15
19年会员
UID 79697
性别 男
状态 离线
写得非常好, 不过不支持空格(要使用短文件名), 并且每次运行前都要修改, 我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 发表于 2007-03-01 17:45 ·  中国 广东 广州 白云区 电信
中级用户
★★
积分 251
发帖 108
注册 2007-01-07 11:33
19年会员
UID 75721
性别 男
来自 湖南==>广州
状态 离线
set T=!T::=-! lxmxn能不能解释下?``这句没明白``
DOS新人.多多指導
14 发表于 2007-03-02 00:52 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
set的帮助有啊

作用是把:替换成-
论坛跳转: