标题: 求助:如何以數字重命名所有文件
[打印本页]
作者: buddiyar
时间: 2006-7-23 11:29
标题: 求助:如何以數字重命名所有文件
我經常從網上收藏一些精美的壁紙
也沒有仔細的整理過
現在想用批處理的方法以數字重命名
我自己也嘗試著編寫但沒成功
問題如下:
1.我不知道這些圖片總數量多少
2.其中有部分圖片名稱已經為數字
3.有些圖片名稱中含有空格
請教高手和眾兄弟幫忙!!
作者: fastslz
时间: 2006-7-23 11:52
好像也没必要,看图软件都可以批量重命名
XP环境的话,全部选中/重命名就ok了
作者: buddiyar
时间: 2006-7-23 12:49
倒是可以用acd see的啦
只是以後我還會不定期增加圖片的
到時侯還得運行它 再批量重命名
感覺很麻煩的
不如自己作個批處理雙擊運行來得快啊
作者: namejm
时间: 2006-7-24 22:32
如果对要重新命名的文件没有顺序方面的要求,下面的代码可以解决问题(以修改jpg格式的图片文件名为例):
@echo off
set num=0
setlocal enabledelayedexpansion
for /f %%i in ('dir /b "保存图片的文件夹\*.jpg"') do (
set /a num+=1
ren %%i !num!.jpg
)
类似的讨论请看:
求助!怎样给一组文件的文件名加上序号(1,2,3...)?
http://www.cn-dos.net/forum/viewthread.php?tid=21240&fpage=1&highlight=%E6%96%87%E4%BB%B6%E5%90%8D
[
Last edited by namejm on 2006-7-24 at 22:38 ]
作者: 无奈何
时间: 2006-7-24 23:42
这是我以前写的一个脚本,放到 sedto 里选中文件后调用。曾经做过一个叫 sedto+ 小玩意,是一些批处理组成的能完成许多方便操作的小东西,这是其中的一个功能,但一直苦于没有时间完善、整理所以也就没有贴出来。试试是否顺手。当然此种方式调用脚本会有一些无法解决的限制不做深度讨论了。
Quote: |
- @echo off
- set /a i=1
- if exist "%~dp1%i%%~x1" (
- if /i "%~nx1" NEQ "%i%%~x1" set /a j=0&&goto loop2
- )
- ren "%~1" "%i%%~x1"
- if "%~2" == "" goto end
- :loop1
- set /a i=i+1
- shift
- if "%~1" == "" goto end
- if exist "%~dp1%i%%~x1" (
- if /i "%~nx1" NEQ "%i%%~x1" set /a j=0&&goto loop2
- )
- ren "%~1" "%i%%~x1"
- goto loop1
- :loop2
- set /a j=j+1
- if exist "%~dp1%i%(%j%)%~x1" (
- if /i "%~nx1" NEQ "%i%(%j%)%~x1" goto loop2
- )
- ren "%~1" "%i%(%j%)%~x1"
- set /a j=0
- goto loop1
- :end
- set i=
- set j=
无奈何发表于 2006-07-24 23:30 |
|