Board logo

标题: [已结]CMD下文件批量按序号重命名 [打印本页]

作者: doscc     时间: 2006-3-27 16:45    标题: [已结]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 ]
作者: 3742668     时间: 2006-3-27 19:04
@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
作者: chenall     时间: 2006-3-27 19:15
试试这个
@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"
)

作者: doscc     时间: 2006-3-27 19:28
谢谢 2楼兄弟 和3楼兄弟

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

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

谢谢!
作者: bagpipe     时间: 2006-3-28 10:58
就是因为有setlocal EnableDelayedExpansion   DOS延迟变量,所以a的变量形式可以用!a!这样的形式表达,自己看看CMD /?帮助自然会明白!!!!!
作者: doscc     时间: 2006-3-28 22:41
谢谢 5楼 兄弟.
作者: ngd     时间: 2008-1-9 19:32

for /l %a in (1,1,50) do ren *.txt %a.txt

作者: mgchl     时间: 2008-1-9 22:30
REN *.TXT 说明???.TXT 就可以了