中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:如何以數字重命名所有文件
作者:
标题: 求助:如何以數字重命名所有文件 上一主题 | 下一主题
buddiyar
初级用户





积分 160
发帖 75
注册 2006-6-28
状态 离线
『楼 主』:  求助:如何以數字重命名所有文件

我經常從網上收藏一些精美的壁紙
也沒有仔細的整理過
現在想用批處理的方法以數字重命名
我自己也嘗試著編寫但沒成功

問題如下:
1.我不知道這些圖片總數量多少
2.其中有部分圖片名稱已經為數字
3.有些圖片名稱中含有空格

請教高手和眾兄弟幫忙!!

2006-7-23 11:29
查看资料  发送邮件  发短消息 网志  OICQ (243589543)  编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

好像也没必要,看图软件都可以批量重命名
XP环境的话,全部选中/重命名就ok了

2006-7-23 11:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
buddiyar
初级用户





积分 160
发帖 75
注册 2006-6-28
状态 离线
『第 3 楼』:  

倒是可以用acd see的啦
只是以後我還會不定期增加圖片的
到時侯還得運行它 再批量重命名
感覺很麻煩的
不如自己作個批處理雙擊運行來得快啊 

2006-7-23 12:49
查看资料  发送邮件  发短消息 网志  OICQ (243589543)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  如果对要重新命名的文件没有顺序方面的要求,下面的代码可以解决问题(以修改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 ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-7-24 22:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 5 楼』:  

这是我以前写的一个脚本,放到 sedto 里选中文件后调用。曾经做过一个叫 sedto+ 小玩意,是一些批处理组成的能完成许多方便操作的小东西,这是其中的一个功能,但一直苦于没有时间完善、整理所以也就没有贴出来。试试是否顺手。当然此种方式调用脚本会有一些无法解决的限制不做深度讨论了。

  Quote:

  1. @echo off
  2. set /a i=1
  3. if exist "%~dp1%i%%~x1" (
  4.         if /i "%~nx1" NEQ "%i%%~x1" set /a j=0&&goto loop2
  5.         )
  6. ren "%~1" "%i%%~x1"
  7. if "%~2" == "" goto end

  8. :loop1
  9. set /a i=i+1
  10. shift
  11. if "%~1" == "" goto end
  12. if exist "%~dp1%i%%~x1" (
  13.         if /i "%~nx1" NEQ "%i%%~x1" set /a j=0&&goto loop2
  14.         )
  15. ren "%~1" "%i%%~x1"
  16. goto loop1

  17. :loop2
  18. set /a j=j+1
  19. if exist "%~dp1%i%(%j%)%~x1" (
  20.         if /i "%~nx1" NEQ "%i%(%j%)%~x1" goto loop2
  21.         )
  22. ren "%~1" "%i%(%j%)%~x1"
  23. set /a j=0
  24. goto loop1

  25. :end
  26. set i=
  27. set j=
        无奈何发表于    2006-07-24  23:30





  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2006-7-24 23:42
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: