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

[文本处理] [已解决]批处理怎么把文件夹名称中[]号内的内容去除掉?

[复制链接]
发表于 2020-4-28 23:35:27 | 显示全部楼层 |阅读模式
把文件夹名称中[]里面的内容和[]这个括号一起去除掉

比如把文件夹名[cctv]010-c重命名为010-c

请问大佬们要怎么写??
发表于 2020-4-29 08:48:46 | 显示全部楼层
  1. powershell "dir | % {$_.MoveTo(($_.Name -replace '\[.*?\]',''))}"
复制代码
 楼主| 发表于 2020-4-29 11:29:58 | 显示全部楼层
回复 2# ivor


    老哥有没有用bat能实现的代码?
发表于 2020-4-29 12:28:21 | 显示全部楼层
folder是主文件夹
  1. @echo off
  2. set "folder=C:\Users\lenovo\Desktop\1"
  3. for /d %%i in ("%folder%\[*]*") do (
  4.         set "dir=%%~ni"
  5.         call rename "%%i" "%%dir:*]=%%"
  6. )
  7. pause&exit
复制代码
 楼主| 发表于 2020-4-29 12:40:12 | 显示全部楼层
回复 4# went


    你好,刚刚试了,这个还需要手动修改文件路径才能运行的是吗?
能不能改成是把这个bat文件放在哪个目录就自动运行应用在当前目录下文件夹的?
发表于 2020-4-29 12:44:46 | 显示全部楼层
回复 5# itunesis
修改当前文件夹里的目录
  1. @echo off
  2. for /d %%i in ("[*]*") do (
  3.         set "dir=%%~ni"
  4.         call rename "%%i" "%%dir:*]=%%"
  5. )
  6. pause&exit
复制代码
 楼主| 发表于 2020-4-29 13:07:22 | 显示全部楼层
本帖最后由 itunesis 于 2020-4-29 13:20 编辑

回复 6# went


    谢谢,运行成功

现在发现个bug,能不能再看看。
 楼主| 发表于 2020-4-29 13:20:08 | 显示全部楼层
回复 6# went

你好,现在发现有个问题。
当[]括号内有英文句号.的时候,就会把句号.后面的内容全部清除掉了
比如[cct.v]010-cc 运行后名字变成了[cct
请问是什么原因?
发表于 2020-4-29 13:48:06 | 显示全部楼层
回复 8# itunesis


第三行改为
  1. set "dir=%%~nxi"
复制代码
符号.被看成拓展名了
这段代码只支持以
  • 开头的文件夹改名
  • 发表于 2020-4-29 13:49:55 | 显示全部楼层
    回复 9# went

    打个
    1. [*]
    复制代码
    怎么变成
  • 这个符号了
  •  楼主| 发表于 2020-4-29 13:58:35 | 显示全部楼层
    回复 9# went


        非常感谢,这次的没有这个问题了
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

    GMT+8, 2026-3-19 18:34 , Processed in 0.019947 second(s), 8 queries , File On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

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