找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 11622|回复: 6

[文件操作] 【已解决】求助批处理文件夹重命名

[复制链接]
发表于 2024-11-20 23:06:50 | 显示全部楼层 |阅读模式
本帖最后由 lj670 于 2024-11-22 14:35 编辑

如何达成当前文件夹下运行,以其子文件夹名重命名孙文件夹名,例如当前文件夹中有a文件夹,a文件夹内有b文件夹,运行后,以a文件夹名重命名b文件夹,我有一个以当前文件夹名命名子文件夹的,可以参考
  1. @echo off
  2. setlocal enabledelayedexpansion

  3. :: 获取当前目录下的第一个子文件夹
  4. for /d %%i in (*) do (
  5.     set "firstFolder=%%i"
  6.     goto :break
  7. )
  8. :break

  9. :: 获取父文件夹的名字
  10. for %%i in ("%cd%") do (
  11.     set "parentFolderName=%%~nxi"
  12. )

  13. :: 重命名操作
  14. if defined firstFolder if defined parentFolderName (
  15.     ren "%firstFolder%" "%parentFolderName%"
  16. ) else (
  17.     echo No subfolder or parent folder name not found.
  18. )

  19. endlocal
复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2024-11-21 09:07:11 | 显示全部楼层
  1. @echo off
  2. cd /d "%~dp0"
  3. for /r /d %%A in (*) do (
  4.   for %%B in ("%%~fA\..") do (
  5.     ren "%%~fA" "%%~nxB"
  6.   )
  7. )
  8. pause
复制代码
发表于 2024-11-21 12:52:41 | 显示全部楼层
  1. @echo off
  2. cd /d "%~dp0"
  3. for /d %%d in (*) do (
  4.         for /d %%e in ("%%d\*") do (
  5.                 ren "%%e" "%%d"
  6.         )
  7. )
  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
lj670 + 1 完美

查看全部评分

 楼主| 发表于 2024-11-22 14:34:18 | 显示全部楼层
回复 3# 77七


    运行完美!谢谢
 楼主| 发表于 2024-11-22 14:42:16 | 显示全部楼层
回复 2# flashercs


    脚本运行后,还是一样以当前文件夹名命名了a文件夹和b文件夹,不是以a文件夹名重命名b文件夹名,3楼回复已经解决了,谢谢!
发表于 2024-11-22 16:09:53 | 显示全部楼层
回复 1# lj670

将 a\b\...\z 更名为 a\a\...\a,各代必须是 ‘独生子’,否则这种命名要求就会被系统报错...
 楼主| 发表于 2024-11-23 01:07:37 | 显示全部楼层
回复 6# aloha20200628


    对呀,就是单个的,而且都是a\b\c这种的,a文件夹运行以b命名c,所以正好用,不会因同名报错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 14:49 , Processed in 0.020352 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表