中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-19 20:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]CMD下文件批量按序号重命名 查看 2,061 回复 7
楼 主 [已结]CMD下文件批量按序号重命名 发表于 2006-03-27 16:45 ·  中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
20年会员
UID 52853
性别 男
来自 广东
状态 离线


问题就是:在e盘里有50个txt文件.文件名都是不规则的.现在要重命名为
说明01.txt,说明02.txt,说明03.txt.....到 说明50.txt

请帮帮忙!
在dos下要怎样才能实现啊

在这里谢谢先了!

下面是我的原代码.(下面的代码执行不成功)

@echo off
set a=0
for %%n in (*.txt) do (
set /A a+=1
if %a% LSS 10 (ren %%n 说明0%a%.txt) else ren %%n 说明%a%.txt
)

执行后 只重命名一个文件为 说明00.txt
后面的全部显示 以存在一个文件,或者找不到文件.





───────────────── 版务记录 ─────────────────
执行:Will Sort
操作:修改标题 - 19765 - 帮帮忙啊-dos批量重命名!
───────────────── 版务记录 ─────────────────


[ Last edited by willsort on 2006-3-30 at 09:14 ]
2 发表于 2006-03-27 19:04 ·  中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013
发帖 718
注册 2006-02-18 07:07
20年会员
UID 50550
状态 离线
@echo off
setlocal enabledelayedexpansion
set /a num = 100
for %%i in (*.txt) do ren %%i 说明!num:~1,2!.txt & set /a num = !num! + 1
endlocal
exit
3 发表于 2006-03-27 19:15 ·  中国 福建 泉州 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
23年会员
UID 586
性别 男
来自 福建泉州
状态 离线
试试这个

@echo off
set a=0
setlocal EnableDelayedExpansion
for %%n in (*.txt) do (
set /A a+=1
if !a! LSS 10 (ren "%%n" "说明0!a!.txt") else ren "%%n" "说明!a!.txt"
)
QQ:366840202
http://chenall.net
4 发表于 2006-03-27 19:28 ·  中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
20年会员
UID 52853
性别 男
来自 广东
状态 离线
谢谢 2楼兄弟 和3楼兄弟

请问 下面这句是什么意思啊.
setlocal EnableDelayedExpansion

还有在 for 里 用到变量 a 为什么 这个不行 %a% 而 要用!a!

谢谢!
5 发表于 2006-03-28 10:58 ·  中国 北京 顺义区 联通
银牌会员
★★★
DOS联盟捡破烂的
积分 1,144
发帖 425
注册 2005-10-20 00:00
20年会员
UID 43784
来自 北京
状态 离线
就是因为有setlocal EnableDelayedExpansion DOS延迟变量,所以a的变量形式可以用!a!这样的形式表达,自己看看CMD /?帮助自然会明白!!!!!
6 发表于 2006-03-28 22:41 ·  中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
20年会员
UID 52853
性别 男
来自 广东
状态 离线
谢谢 5楼 兄弟.
7 发表于 2008-01-09 19:32 ·  中国 安徽 马鞍山 电信
中级用户
★★
拟谷盗
积分 312
发帖 108
注册 2007-01-21 11:36
19年会员
UID 77238
性别 男
状态 离线
for /l %a in (1,1,50) do ren *.txt %a.txt
8 发表于 2008-01-09 22:30 ·  中国 上海 奉贤区 电信
初级用户
积分 24
发帖 10
注册 2007-11-01 10:07
18年会员
UID 101360
性别 男
状态 离线
REN *.TXT 说明???.TXT 就可以了
论坛跳转: