[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

请教大家一个问题,怎样把图片名称改为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

本帖最后由 13934293070 于 2020-7-16 07:35 编辑

谢谢,管理员的帮助解决了问题,也谢谢sass的帮助,虽然没能解决这个问题:)
rwm

TOP

回复 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

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# smss


    你这个的代码里面只有一个 if + ren 连个 else 都没有,能否讲解一下它是如何实现顶楼要求的两种情况分别重命名的吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  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
复制代码

TOP

返回列表