高分~关于批重命名的批处理,懂的人进!在线等~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/30 20:46:31
我有一个文件夹,里面还有几个文件夹,在这些文件夹里有很多图片,图片的名称很乱,我想用一个批处理把这些文件夹里的图片全按从1开始顺序排列,这个批处理应该怎么写(提示一下可以用复制的方法)?
我就是懒得用photoshop或ACD等软件要单个文件夹浏览才能重命名我才会选批处理的!
是从1开始不是01,而且我是要一步全重命名而不是单个文件夹处理。例如Q文件夹里有A B C D四个文件夹,而这些文件夹里有很多排序乱的图片,我要一个批处理把Q文件夹里的四个文件夹内的图片全按1开始重命名!而且A B C D四个文件夹保留不动这不难理解吧???请别乱复制单个单个重命名的方法忽悠我,把同一个文件夹的文件重命名的批处理我懂,代码如下:

@echo off & setlocal EnableDelayedExpansion
title 文件批量重命名整理
mode con cols=50 lines=25 & color 9b
echo 此批处理脚本用于将此路径下的所有同类文件批量重命名
set /p start=开始整理文件请输入[Y]:
set /p bak=请输入要整理的文件名后缀[如jpg]:
if "!start!"=="y" (
md newfiles
for /f "delims= tokens=1" %%i in ('dir /b /s ^| find ".!bak!"') do (
set /a num+=1
copy "%%~dpxni" .\newfiles\!num!.!bak! >nul
cls
echo.已经复制文件:
echo !num!个
echo 此文件[%%~xni]已经改名为 [!name!!num!.!bak!]
)
) else goto :eof
echo 完成整理!
PAUSE>nul
下面的回答是错误的!而且我要求的是从1开始,不是

由于工作需要,需要对一百多张GIF图片进行重命名,原文件名都杂乱无章的,需要重命名为01.gif、02.gif,依此类推。于是想到用批处理来完成这个重复的工作,如下:
@echo off
rem 启用"延缓环境变量扩充"
setlocal EnableDelayedExpansion
set a=1
rem 循环当前目录下所有图片的文件名,支持带空格的名称
for /f "delims=" %%i in ('dir /b *.gif') do (
rem 如果没有相同的文件名,则继续
if not "%%~ni"=="%~n0" (
if !a! LSS 10 (ren "%%i" "0!a!.gif") else ren "%%i" "!a!.gif"
rem 设置数值型变量a=a+1
set /a a+=1
)
)
echo 批量重命名完成!
pause

保存为bat文件,放在图片所在目录运行即可,2秒完成所有工作!

下命名tools、