如何批量删除文件名中的一段?

我想把图片中的中括号里的部分(包括中括号)全部删除,能用bat指令最好,不能的话也没关系,谢谢

我用python代码实现的,如图:

代码执行前

代码图片

执行代码

    代码执行后

    以下为文字代码:

    #/usr/bin/python3

    # -*- coding: UTF-8 -*-

    import os,re

    def reName(file_path):

        list = os.listdir(file_path) #列出文件列表

        for oldname in list: #对文件列表进行遍历

            newname = re.sub(r'【云少福利包\d】','',oldname) #获取去掉括号之后的文件名

            #print(newname)

            os.rename(os.path.join(file_path,oldname),os.path.join(file_path,newname)) 

            #将文件名批量替换

        print('批量重命名运行完成!') 

    if __name__ == '__main__':

        filepath = 'D:/scripts/py/test' #定义文件路径

        reName(filepath) #调用reName函数

    温馨提示:答案为网友推荐,仅供参考
    第1个回答  2020-04-06
    不清楚你的实际文件/情况,仅以问题中的样例/说明为据
    复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行<# :
    cls
    @echo off
    rem 删除文件名中的中文方头括号及其里面的内容
    set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
    title %#% +%$%%$%/%@% %z%
    cd /d "%~dp0"
    powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
    echo;%#% +%$%%$%/%@% %z%
    pause
    exit
    #>
    $path='.';
    $files=@(dir -liter $path|?{('.bat' -ne $_.Extension) -and ($_ -is [System.IO.FileInfo])});
    for($i=0;$i -lt $files.length;$i++){
        $newbase=($files[$i].BaseName -replace '【[^】]*?】','').trim();
        if(($newbase -ne '') -and ($newbase -ne $files[$i].BaseName)){
            $newname=$newbase+$files[$i].Extension;
            $newfile=$files[$i].Directory.FullName+'\'+$newname;
            Write-host ($files[$i].FullName+' --> '+$newname);
        };
    };

    追问

    没有效果啊,而且运行的时候也没有提示我要选什么编码呀?

    追答

    按运行后窗口标题栏中的提示联系我

    第2个回答  2020-04-04
    在这个文件夹建一个文本文件,改后缀名为bat,编辑文本内容如下:
    rename *2018*.* 2018*.*
    然后保存运行就可以了
    第3个回答  2021-10-01

    1,打开并使用下图软件,点击【添加文件】按钮,将需要修改名称的文件全部添加到软件中,也可以通过将文件拖动到软件上的方式进行添加。

    2,如下图所示:命名方式选择“替换”;查找内容输入需要删除的文字或字符;替换内容什么都不用填写,留空。这时候我们在右边可以预览到新文件名已经删除了相同的文字。

    3,然后点击【开始重命名】红色按钮,启动软件程序。稍等片刻当软件提示“重命名成功”,说明软件完成批量删除文件名中相同文字的操作。

    4,最后检查这些文件,通过案例对比可以看出,新的文件名中完全删除了相同的文字

    相似回答