Board logo

标题: [文件操作] 批处理如何批量给文件夹加序号前缀呢? [打印本页]

作者: mzp    时间: 2024-3-11 15:59     标题: 批处理如何批量给文件夹加序号前缀呢?

如何批量给文件夹加序号前缀呢
作者: hhak003    时间: 2024-3-12 16:44

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /a count=1
  4. for /d %%i in (*) do (
  5.     set "folder=%%i"
  6.     set "newFolder=!count!_!folder!"
  7.     ren "%%i" "!newFolder!"
  8.     set /a count+=1
  9. )
  10. echo 批量添加序号前缀完成。
  11. pause
复制代码
------------------------------------------------
这段脚本的工作原理是:

@echo off 关闭命令回显。
setlocal enabledelayedexpansion 开启变量延迟环境扩展,以便在循环内部实时更新和使用变量。
初始化计数器 count 为 1。
使用 for /d %%i in (*) do (...) 遍历当前目录下的所有文件夹。
对每个文件夹,将其名称赋值给变量 folder。
创建新的文件夹名称 newFolder,格式为:序号(count)+ 下划线 + 文件夹名称。
使用 ren "%%i" "!newFolder!" 将原文件夹名称更改为带有序号前缀的新名称。
更新计数器 count 的值,使其在每次循环后递增。
最后输出提示信息,并暂停以防止窗口立即关闭。
作者: 77七    时间: 2024-3-12 18:49

  1. @echo off
  2. cd /d "%~dp0"
  3. set n=0
  4. for /d %%d in (*) do (
  5. set /a n+=1
  6. )
  7. for %%a in (1 10 100 1000 10000 100000 1000000) do (
  8. if %n% geq %%a (
  9. set /a m=%%a*10
  10. )
  11. )
  12. for /f "delims=" %%d in ('dir /b /ad') do (
  13. set str=%%d
  14. set /a m+=1
  15. setlocal enabledelayedexpansion
  16. ren "!str!" "!m:~1!_!str!"
  17. endlocal
  18. )
  19. pause
复制代码





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