标题: [文件操作] 批处理怎样把图片名称重命名为文本里对应的名称? [打印本页]
作者: 13934293070 时间: 2020-7-12 15:23 标题: 批处理怎样把图片名称重命名为文本里对应的名称?
请教大家一个问题,怎样把图片名称改为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
作者: smss 时间: 2020-7-14 12:05
- ::aaa.txt为你定义的命名文本
- @echo off&setlocal enabledelayedexpansion&set m=1000
- (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
- pause
复制代码
作者: Batcher 时间: 2020-7-14 13:27
回复 2# smss
你这个的代码里面只有一个 if + ren 连个 else 都没有,能否讲解一下它是如何实现顶楼要求的两种情况分别重命名的吗?
作者: Batcher 时间: 2020-7-14 13:48
回复 1# 13934293070
test.bat- @echo off
- setlocal enabledelayedexpansion
- set "FileTxt=1.txt"
- for /f "delims=" %%i in ('type "%FileTxt%"') do (
- set /a _%%i+=1
- set #%%i=1001
- )
- (for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
- set /p "NewName="
- for /f %%j in ("_!NewName!") do (
- if !%%j! gtr 1 (
- call ren "%%i" "!NewName!-%%#!NewName!:~-3%%%%~xi"
- set /a #!NewName!+=1
- ) else (
- ren "%%i" "!NewName!%%~xi"
- )
- )
- ))<"%FileTxt%"
复制代码
作者: 13934293070 时间: 2020-7-16 06:58
本帖最后由 13934293070 于 2020-7-16 07:35 编辑
谢谢,管理员的帮助解决了问题,也谢谢sass的帮助,虽然没能解决这个问题:)
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |