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

[文件操作] 批处理如何批量给文件夹加序号前缀呢?

如何批量给文件夹加序号前缀呢

  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 的值,使其在每次循环后递增。
最后输出提示信息,并暂停以防止窗口立即关闭。

TOP

  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
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表