Board logo

标题: [文件操作] [已解决]批处理如何对指定扩展名的图片文件进行批量改名/重命名 [打印本页]

作者: 001011    时间: 2012-7-11 23:59     标题: [已解决]批处理如何对指定扩展名的图片文件进行批量改名/重命名

本帖最后由 pcl_test 于 2016-12-14 22:25 编辑

对某路径下的子文件夹中的jpg格式的图片批量命名  格式为10000、10001、10002以此类推
作者: canyuexiaolang    时间: 2012-7-12 00:20

  1. @echo off & setlocal enabledelayedexpansion
  2. pushd "路径"
  3. set "num=10000"
  4. for /f "tokens=* delims=" %%i in ('dir /a-d /b /s *.jpg') do (
  5.     ren "%%i" "!num!.jpg"
  6.     set /a num+=1
  7. )
复制代码
话说更换子文件夹的时候是否要重新从10000开始命名?这个不是
作者: 001011    时间: 2012-7-12 00:27

本帖最后由 001011 于 2012-7-12 00:29 编辑

回复 2# canyuexiaolang
谢谢您   是把每个文件夹里面的jpg按10000、100001的顺序重命名  
我把路径输入进去了  放在桌面执行  怎么把桌面的图改了名字呢
作者: 001011    时间: 2012-7-12 00:30

是从10000开始  第二张图就是10001了
作者: 001011    时间: 2012-7-12 00:32

不管原先的名字是什么  全部按上面说的规律重命名
作者: 001011    时间: 2012-7-12 00:40

本帖最后由 001011 于 2012-7-12 00:48 编辑

貌似不支持中文路径呀  每个文件里面的图片单独排序  您写的程序是全部的图片统一排序了  呵呵
作者: canyuexiaolang    时间: 2012-7-12 03:45

本帖最后由 canyuexiaolang 于 2012-7-12 03:47 编辑

回复 6# 001011


支持中文路径,测试通过(win7),已经达到要求。

  1. @echo off & setlocal enabledelayedexpansion
  2. pushd "F:\测试\路径"
  3. rem 注意路径要加引号(特别是有空格的路径)。
  4. for /f "tokens=* delims=" %%i in ('dir /a-d /b /s *.jpg') do (
  5.     if not "!pathname!"=="%%~dpi" set /a num=10000
  6.     ren "%%i" "!num!.jpg"
  7.     set /a num+=1
  8.     set "pathname=%%~dpi"
  9. )
  10. pause
复制代码

作者: 001011    时间: 2012-7-12 12:17

本帖最后由 canyuexiaolang 于 2012-7-12 12:34 编辑

回复 7# canyuexiaolang

非常感谢  再问一个问题  在这个程序的基础上  能否加上把全部的图片的DPI  改成200呢

听不懂。。理论上说如果有第三方能改的话那就能改。。。
作者: 001011    时间: 2012-7-12 12:47

回复 8# 001011
就是把全部的图片的DPI 给成200   我记得有第三方插件的  我找找看




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2