中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 20:29
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]CMD下文件批量按序号重命名
可打印版本  2,129 / 7
第1楼 doscc 发表于 2006-03-27 16:45
中级用户 发帖 93 积分 256 来自 广东
[已结]CMD下文件批量按序号重命名


问题就是:在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楼 3742668 发表于 2006-03-27 19:04
荣誉版主 发帖 718 积分 2,013
@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楼 chenall 发表于 2006-03-27 19:15
银牌会员 发帖 469 积分 1,276 来自 福建泉州
试试这个
第4楼 doscc 发表于 2006-03-27 19:28
中级用户 发帖 93 积分 256 来自 广东
谢谢 2楼兄弟 和3楼兄弟

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

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

谢谢!
第5楼 bagpipe 发表于 2006-03-28 10:58
银牌会员 发帖 425 积分 1,144 来自 北京
就是因为有setlocal EnableDelayedExpansion DOS延迟变量,所以a的变量形式可以用!a!这样的形式表达,自己看看CMD /?帮助自然会明白!!!!!
第6楼 doscc 发表于 2006-03-28 22:41
中级用户 发帖 93 积分 256 来自 广东
谢谢 5楼 兄弟.
第7楼 ngd 发表于 2008-01-09 19:32
中级用户 发帖 108 积分 312
第8楼 mgchl 发表于 2008-01-09 22:30
初级用户 发帖 10 积分 24
REN *.TXT 说明???.TXT 就可以了
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023