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

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

把文件夹名称中[]里面的内容和[]这个括号一起去除掉

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

请问大佬们要怎么写??

  1. powershell "dir | % {$_.MoveTo(($_.Name -replace '\[.*?\]',''))}"
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 2# ivor


    老哥有没有用bat能实现的代码?

TOP

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
复制代码

TOP

回复 4# went


    你好,刚刚试了,这个还需要手动修改文件路径才能运行的是吗?
能不能改成是把这个bat文件放在哪个目录就自动运行应用在当前目录下文件夹的?

TOP

回复 5# itunesis
修改当前文件夹里的目录
  1. @echo off
  2. for /d %%i in ("[*]*") do (
  3. set "dir=%%~ni"
  4. call rename "%%i" "%%dir:*]=%%"
  5. )
  6. pause&exit
复制代码

TOP

本帖最后由 itunesis 于 2020-4-29 13:20 编辑

回复 6# went


    谢谢,运行成功

现在发现个bug,能不能再看看。

TOP

回复 6# went

你好,现在发现有个问题。
当[]括号内有英文句号.的时候,就会把句号.后面的内容全部清除掉了
比如[cct.v]010-cc 运行后名字变成了[cct
请问是什么原因?

TOP

回复 8# itunesis


第三行改为
  1. set "dir=%%~nxi"
复制代码
符号.被看成拓展名了
这段代码只支持以
  • 开头的文件夹改名
  • TOP

    回复 9# went

    打个
    1. [*]
    复制代码
    怎么变成
  • 这个符号了
  • TOP

    回复 9# went


        非常感谢,这次的没有这个问题了

    TOP

    返回列表