@Echo Off&SetLocal ENABLEDELAYEDEXPANSIONFOR %%a in (*) do ( set "name=%%a" set "name=!name: (=!" set "name=!name:)=!" ren "%%a" "!name!")exit 如上这个公式只能去除文件名中的括号。可我想去除的是文件夹名字中的括号。求大神帮忙。
@echo off for /f "delims=" %%a in ('dir /b/ad *^|findstr "[()]"') do ( for /f "tokens=1,2,3,4* delims=()" %%b in ("%%a") do ( move /y "%%a" "%%b%%c%%d%%e%%f" ) )
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起运行 /* echo off&cls rem 删除多个文件夹名称末尾的括号及里面的内容 mode con lines=3000 set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4 title %#% +%$%%$%/%_% %z% cd /d "%~dp0" dir /ad/b|cscript -nologo -e:jscript "%~f0" echo;%#% +%$%%$%/%_% %z% pause exit */ var fso=new ActiveXObject('Scripting.FileSystemObject'); while(!WSH.StdIn.AtEndOfStream){ var it=WSH.StdIn.ReadLine(); var oldname=it.replace(/^.+\\/,''); var newname=oldname.replace(/\s?\([^\)]*\)$/,''); if(oldname != newname){ WSH.StdErr.WriteLine(it+' --> '+newname); } }