华域联盟 DOS/BAT 用批处理实现将文件以数字重命名的代码

用批处理实现将文件以数字重命名的代码

要求:

   1、不能改变a.txt内容的顺序

   2、将当前目录下的所有jpg文件以序号的形式重命名 如:从1-16

   3、如果有16个文件,必须重命名为1-16,不允许出现16之后的序号

a.txt 内容:


复制代码 代码如下:

2.jpg

1.jpg

a.jpg

5ww.jpg

c.jpg

f.jpg

rty.jpg

3.jpg

11.jpg

b.jpg

6.jpg

e.jpg

8.jpg

111.jpg

7.jpg

30.jpg

a.txt中的内容其实就是当前文件夹下的jpg文件列表。

要求将当前文件夹里的所有jpg文件以序号的形式重命名。

但只能从 a.txt 获取当前文件夹里的所有 jpg 的文件名。

以序号重命名文件,陷阱重重,但如果用dir或for等命令来获取文件名的话,获取的先后次序会有一定规律,导致有些问题不能体现出来


复制代码 代码如下:

@echo on

setlocal enabledelayedexpansion

set n=0

set n1=0

for /f "tokens=*" %%a in (a.txt) do (

     set /a n+=1

     ren %%a t!n!.jpg

    )

:loop

set /a n1+=1  

ren t%n1%.jpg %n1%.jpg&&goto :loop

exit

第二种方法

好像可以更简单点


复制代码 代码如下:

@echo off

ren *.jpg t*.jpg

setlocal enabledelayedexpansion

for /f "delims=" %%a in ('dir/b "t*.jpg"') do (

   set str=%%a&set str=!str:~1!

   ren "%%a" "!str!"

)

pause


您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » 用批处理实现将文件以数字重命名的代码

转载请保留出处和原文链接:https://www.cnhackhy.com/15917.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部