找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28386|回复: 4

[文件操作] 批处理怎样把图片名称重命名为文本里对应的名称?

[复制链接]
发表于 2020-7-12 15:23:45 | 显示全部楼层 |阅读模式
请教大家一个问题,怎样把图片名称改为txt文本里对应的名称,重命名相同的名称后加“-”加3位的序列号
比如:图片名称                                        文本名称                   改好的名称
          IMG_20200709_165907.jpg          130005                    130005-001.jpg
         IMG_20200709_165940.jpg           030949                    030949.jpg
         IMG_20200709_165953.jpg           130005                    130005-002.jpg
         IMG_20200709_170008.jpg           02354878                02354878.jpg
发表于 2020-7-14 12:05:29 | 显示全部楼层
  1. ::aaa.txt为你定义的命名文本
  2. @echo off&setlocal enabledelayedexpansion&set m=1000
  3. (for /f "delims=" %%i in ('dir/b/s *jpg')do set/a m+=1&set/p "n="&if defined n ren "%%i" "!n!-!m:~-3!%%~xi")<aaa.txt
  4. pause
复制代码
发表于 2020-7-14 13:27:08 | 显示全部楼层
回复 2# smss


    你这个的代码里面只有一个 if + ren 连个 else 都没有,能否讲解一下它是如何实现顶楼要求的两种情况分别重命名的吗?
发表于 2020-7-14 13:48:17 | 显示全部楼层
回复 1# 13934293070


test.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "FileTxt=1.txt"
  4. for /f "delims=" %%i in ('type "%FileTxt%"') do (
  5.     set /a _%%i+=1
  6.     set #%%i=1001
  7. )
  8. (for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  9.     set /p "NewName="
  10.     for /f %%j in ("_!NewName!") do (
  11.         if !%%j! gtr 1 (
  12.             call ren "%%i" "!NewName!-%%#!NewName!:~-3%%%%~xi"
  13.             set /a #!NewName!+=1
  14.         ) else (
  15.             ren "%%i" "!NewName!%%~xi"
  16.         )
  17.     )
  18. ))<"%FileTxt%"
复制代码

评分

参与人数 1技术 +1 收起 理由
13934293070 + 1 谢谢解决了问题

查看全部评分

 楼主| 发表于 2020-7-16 06:58:09 | 显示全部楼层
本帖最后由 13934293070 于 2020-7-16 07:35 编辑

谢谢,管理员的帮助解决了问题,也谢谢sass的帮助,虽然没能解决这个问题:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 04:12 , Processed in 0.019340 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表