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

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

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

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

请问大佬们要怎么写??

回复 9# went


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

TOP

回复 9# went

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

    回复 8# itunesis


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

    回复 6# went

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

    TOP

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

    回复 6# went


        谢谢,运行成功

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

    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

    回复 4# went


        你好,刚刚试了,这个还需要手动修改文件路径才能运行的是吗?
    能不能改成是把这个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

    回复 2# ivor


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

    TOP

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

    TOP

    返回列表