|
5872169
高级用户
积分 959
发帖 474
注册 2007-10-25
状态 离线
|
『楼 主』:
请高手修改一下批量重命名代码
set a=0
setlocal EnableDelayedExpansion
for %%n in ("C:\Documents and Settings\Administrator\桌面\yu\*.BMP") do (set /A a+=1
if !a! LSS 10 (ren "%%n" "!a!.BMP") else ren "%%n" "!a!.BMP")
在C:\Documents and Settings\Administrator\桌面\yu文件夹内*.BMP文件全部重命名为数字如1、2、3……但是遇到文件数量多的,必须执行两遍才可以。请高手帮助修改一下。
|
|
2008-3-13 12:27 |
|
|
moniuming
银牌会员
永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
2 楼』:
@echo off
for /f "delims=" %%n in ("C:\Documents and Settings\Administrator\桌面\yu\*.BMP") do (
for /l %%a in (1,1,9) do (
ren "%%n" "%%a.bmp" 2>nul
)
)
|
|
2008-3-13 13:22 |
|
|
5872169
高级用户
积分 959
发帖 474
注册 2007-10-25
状态 离线
|
『第
3 楼』:
moniuming,代码不运行!
|
|
2008-3-13 13:27 |
|
|
sylovanas
初级用户
积分 107
发帖 42
注册 2007-9-3
状态 离线
|
『第
4 楼』:
@echo off
set desktop=C:\Documents and Settings\Administrator\桌面\yu
set a=0
for /f "tokens=*" %%a in ('dir /a/b/on %desktop%\*.bmp^|findstr -i "\.bmp"') do call :name %%a
goto end
:name
set /a a+=1
ren "%desktop%\%1" "%a%.bmp"
goto:eof
:end 这样?
[ Last edited by sylovanas on 2008-3-13 at 02:10 PM ]
|
|
2008-3-13 14:06 |
|
|
fastslz
铂金会员
DOS一根葱
积分 5493
发帖 2315
注册 2006-5-1 来自 上海
状态 离线
|
『第
5 楼』:
@echo off
set N=0
setlocal enabledelayedexpansion
for /f "tokens=*" %%i in ('dir /b/s/a-d "C:\Documents and Settings\Administrator\桌面\yu\*.BMP"') do (
set /a N=!N!+1
ren "%%i" "!N!"
)
pause
|
第一高手 第二高手
我的小站
|
|
2008-3-13 14:12 |
|
|
moniuming
银牌会员
永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
6 楼』:
@echo off
setlocal enabledelayedexpansion
set aa=0
for /f "delims=" %%a in ('dir /b /a-d "C:\Documents and Settings\Administrator\桌面\yu\*.BMP"') do (
set /a aa+=1
ren "%%a" !aa!.bmp
)
|
|
2008-3-13 14:13 |
|
|
moniuming
银牌会员
永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
7 楼』:
晕啊,刷新慢了,没发现已经有了新的
|
|
2008-3-13 14:15 |
|
|
5872169
高级用户
积分 959
发帖 474
注册 2007-10-25
状态 离线
|
『第
8 楼』:
moniuming,找不到文件,经测试只有fastslz成功了,可能忘了加上文件名的后缀了加上.BMP,
|
|
2008-3-13 14:57 |
|
|
moniuming
银牌会员
永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
9 楼』:
奇了怪了,为此我还多做了一个测试的代码呢,把文件名改来改去的,都没什么问题啊,这是我的原代码,我只是把红色部分换为你的罢了
@echo off
setlocal enabledelayedexpansion
set aa=0
for /f "delims=" %%a in ('dir /s /b /a-d "d:\my pictures\*.jpg"') do (
set /a aa+=1
ren "%%a" !aa!.jpg
)
这是另一个代码:
@echo off
setlocal enabledelayedexpansion
set a=1000
for /f "delims=" %%i in ('dir /b /s /a-d "d:\my pictures\*.jpg"') do (
set /a a+=1
set b=!a:~1,3!
ren "%%i" !b!.jpg
) [ Last edited by moniuming on 2008-3-17 at 02:43 PM ]
|
|
2008-3-14 11:56 |
|
|
5872169
高级用户
积分 959
发帖 474
注册 2007-10-25
状态 离线
|
『第
10 楼』:
moniuming你第一次发的代码没有加/S,现在的代码全部测试成功
|
|
2008-3-14 12:14 |
|
|
moniuming
银牌会员
永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
11 楼』:
没有/s也可以的,因为已经指明了路径
|
|
2008-3-14 14:19 |
|
|
5872169
高级用户
积分 959
发帖 474
注册 2007-10-25
状态 离线
|
『第
12 楼』:
moniuming,这条命令我又测试了一下,还是不行,没有加/s
@echo off
setlocal enabledelayedexpansion
set aa=0
for /f "delims=" %%a in ('dir /b /a-d "C:\Documents and
Settings\Administrator\桌面\yu\*.BMP"') do (
set /a aa+=1
ren "%%a" !aa!.bmp)
[ Last edited by 5872169 on 2008-3-14 at 03:47 PM ]
|
|
2008-3-14 14:29 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
13 楼』:
12 楼代码不能运行的原因是没有加 /s 参数,导致%%a不是完整的路径,所以会出错。
|
致精致简! |
|
2008-3-14 15:10 |
|
|
annugu
新手上路
积分 12
发帖 6
注册 2008-3-28
状态 离线
|
|
2008-3-28 18:57 |
|