求bat批量给子文件夹重命名
bat吧
全部回复
仅看楼主
level 1
综艺~迷 楼主
我的文件排列如下:
总目录A\
子目录A\B,子目录A\C...
子目录A\B\B1,子目录A\B\B2,子目录A\B\B3...
子目录A\C\C1,子目录A\C\C2,子目录A\C\C3...
我的目标:
将总目录下所有文件重命名
重命名标准:以其所在的文件夹名排序命名,
如B1中的文件将重命名为B10001,B10002...
不更改文件位置,保证原文件排序,保留文件类型
目前可以在1级子目录下运行这个,但是我的扫描件被打乱了原文件排序。
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /ad /b') do (
set n=0000
for /f "delims=" %%b in ('dir /a-d /b "%%a\*.jpg"') do (
set /a n+=1
if !n! lss 10 (
ren "%%a\%%b" "%%a000!n!.jpg"
) else (
ren "%%a\%%b" "%%a!n!.jpg"
)
)
)
echo 更名完成!
pause
这个方法可以做到,但是没有按原文件顺序改名,怎么保留原排序,求大神帮忙。
2018年11月18日 12点11分 1
level 1
综艺~迷 楼主
我的原文件名排序是文件(1),文件(2),文件(3).....
我看了ECHO ON ,它重命名的时候是按照文件(1),文件(10),文件(11-19),文件(2),文件(20-29),
怎么办,怎么能让他按文件文件(1),文件(2),文件(3)这样改
2018年11月18日 12点11分 2
1