我是靠谱客的博主 无聊身影,最近开发中收集的这篇文章主要介绍用批处理实现将文件以数字重命名的代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

要求:
   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

最后

以上就是无聊身影为你收集整理的用批处理实现将文件以数字重命名的代码的全部内容,希望文章能够帮你解决用批处理实现将文件以数字重命名的代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(138)

评论列表共有 0 条评论

立即
投稿
返回
顶部