bat批量重命名文件(在子文件夹里)
文件夹a内有大量jpg和png图片(含子文件夹),我想把这些图片按顺序命名,并把原文件名保存到bat.log文件内,一行一个文件名。例如:a/img.jpg;a/url/...
文件夹a内有大量jpg和png图片(含子文件夹),我想把这些图片按顺序命名,并把原文件名保存到bat.log文件内,一行一个文件名。例如:
a/img.jpg;
a/url/photokk.jpg;
a/url2/myfile.jpg;
命名为:
a/10001.jpg;
a/url/10002.jpg;
a/url2/10003.jpg;
复制一份到新文件名可以放到其它文件夹中,可以不带子文件夹,如:
b/10001.jpg;
b/10002.jpg;
b/10003.jpg;
另外bat.log需要保存有:
img.jpg
photokk.jpg
myfile.jpg
一行一个文件名
下面只能重名 怎么拷贝到一个路径下b/10001.jpg ... 这样
@echo off & setlocal enabledelayedexpansion
set "foldername=a"
set /a num=10000
rem foldername设置文件夹名称
pushd "!foldername!" || goto :eof
(for /f "tokens=* delims=" %%i in ('dir /s /b /a-d /on *.jpg *.png') do (
set /a num+=1
ren "%%i" "!num!.jpg" && echo !num! %%~nxi "%%~fi"
))>"%~dp0bat.log"
echo 批量重命名完成!
pause 展开
a/img.jpg;
a/url/photokk.jpg;
a/url2/myfile.jpg;
命名为:
a/10001.jpg;
a/url/10002.jpg;
a/url2/10003.jpg;
复制一份到新文件名可以放到其它文件夹中,可以不带子文件夹,如:
b/10001.jpg;
b/10002.jpg;
b/10003.jpg;
另外bat.log需要保存有:
img.jpg
photokk.jpg
myfile.jpg
一行一个文件名
下面只能重名 怎么拷贝到一个路径下b/10001.jpg ... 这样
@echo off & setlocal enabledelayedexpansion
set "foldername=a"
set /a num=10000
rem foldername设置文件夹名称
pushd "!foldername!" || goto :eof
(for /f "tokens=* delims=" %%i in ('dir /s /b /a-d /on *.jpg *.png') do (
set /a num+=1
ren "%%i" "!num!.jpg" && echo !num! %%~nxi "%%~fi"
))>"%~dp0bat.log"
echo 批量重命名完成!
pause 展开
2个回答
展开全部
@echo off & setlocal enabledelayedexpansion
set "foldername=a"
set /a num=10000
rem foldername设置文件夹名称
pushd "!foldername!" || goto :eof
(for /r %%i in (*.jpg,*.png) do (
set /a num+=1
copy/y "%%i" ".\b\!num!%%~xi"
ren "%%i" "!num!.jpg" && echo !num! %%~nxi "%%~fi"
))>"%~dp0bat.log"
echo 批量重命名完成!
pause
能处理子文件夹,并复制一份文件到文件夹b下.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询