[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]以数字命名的文件夹批量重命名,如何在不足指定位数的名称前补0/加0

本帖最后由 pcl_test 于 2018-3-16 14:56 编辑

求助:文件夹批量重命名
前言,本人无基础
现有一批用数字命名的文件夹,在不同的目录中:基本结构如下:
X:备份\AA-115\1
X:备份\AA-126\3
.
.
.
X:备份\AA-116\2333
以及
X:存储\AA-115\1
X:存储\AA-126\3
.
.
.
X:存储\AA-116\2333
我想做个批处理,判断文件夹名字,不足4位数的文件夹重命名在前面用0补齐4位数
自己在网上参考后写的代码如下:
  1. @echo off&color 3a&set c=0123456789abcdefghijklmnopqrstuvwxyz
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=*" %%i in ('dir /a:d /s /b') do (
  4. set n=%%i
  5. if !n! lss 10 (if !n! geq 0 ren "!n!" "000!n:~-1!")
  6. if !n! lss 100 (if !n! geq 10 ren "!n!" "00!n:~-2!")
  7. if !n! lss 1000 (if !n! geq 100 ren "!n!" "0!n:~-3!")
  8. )
  9. echo 正在处理...
  10. echo.
  11. echo 处理完毕
  12. pause
复制代码
只对前目录里的文件夹生效,子目录里的文件夹没有被重命名,求前辈大佬们指点,万分感谢!

回复 2# yhcfsr
谢谢前辈指点!
原来sort 这个是排序命令,/r 这个参数就是倒序吧?
有点明白了,虽然您的代码有一句用到了很多不认识的命令够我学一阵了,hhh
您写的代码方案测试没问题,总之非常感谢!!

TOP

返回列表