Board logo

标题: [文件操作] [已解决]批处理如何批量给子文件夹下的所有文件夹后缀加上序号? [打印本页]

作者: liaoguinan    时间: 2024-12-27 23:22     标题: [已解决]批处理如何批量给子文件夹下的所有文件夹后缀加上序号?

本帖最后由 liaoguinan 于 2024-12-30 16:06 编辑

根目录下的文件夹名称如下,如何批量给根目录下的文件夹里的子文件夹后缀加上序号
0001
0002
0003
......
子文件夹下的文件夹如下,
有中文有数字,
有些子文件夹里只有一个就给它编001即可,有些则上百个文件夹。
在不变动原有的排序”下给文件夹后缀加上三位数的序号


下图是加上序号的样子

作者: 77七    时间: 2024-12-28 10:47

  1. @echo off
  2. cd /d "%~dp0"
  3. for /d %%d in (*) do (
  4. pushd "%%d"
  5. setlocal
  6. for /f "delims=" %%d in ('dir /b /ad') do (
  7. set /a n+=10001
  8. set d=%%d
  9. setlocal enabledelayedexpansion
  10. ren "!d!" "!d!!n:~-3!"
  11. endlocal
  12. )
  13. endlocal
  14. popd
  15. )
  16. pause
复制代码

作者: qixiaobin0715    时间: 2024-12-28 15:08

本帖最后由 qixiaobin0715 于 2024-12-28 16:25 编辑

回复 2# 77七
“在不变动原有的排序”表达不准确,dir形成的顺序,与目录中的排序有时会不一致,要具体情况具体分析,特别是前面是数字时,不是泛泛的说“在不变动原有的排序”所能说的清楚的。比如这样的文件夹如何处理:
  1. 中国第1大湖泊
  2. 中国第2大湖泊
  3. 中国第5大湖泊
  4. 中国第11大湖泊
  5. 中国第22大湖泊
  6. 中国第30大湖泊
复制代码
改成:
  1. 中国第1大湖泊001
  2. 中国第2大湖泊002
  3. 中国第5大湖泊003
  4. 中国第11大湖泊004
  5. 中国第22大湖泊005
  6. 中国第30大湖泊006
复制代码
实际上dir搜索时排序是这样滴:
  1. 中国第11大湖泊
  2. 中国第1大湖泊
  3. 中国第22大湖泊
  4. 中国第2大湖泊
  5. 中国第30大湖泊
  6. 中国第5大湖泊
复制代码

作者: 77七    时间: 2024-12-28 18:13

回复 3# qixiaobin0715


    感谢大佬指点! 我发现我把电脑中查看和dir命令的排序混淆了。
但是此贴中好像不受影响,文件夹名前已有序号排序。
作者: qixiaobin0715    时间: 2024-12-29 09:47

回复 4# 77七
之所以提出这个问题,从楼主提供的信息来看,总觉得太随意,不一定完全代表他的真实意图,所以我才提出这种疑问,如果真是像楼主提供的格式的话,就不会有什么问题了。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2