|
微信文档每转发一次,便会复制一份,目录里有很多类似
文本.docx
文本(1).docx
wenzi.xlsx
wenzi(1).xlsx
wenzi(2).xlsx
资料(3).pdf
这样的文件,想要去除后面的(1)(2)(3),用set字符串替换,但是发现好像不支持通配符
源代码如下,感觉有点笨:
@echo off
setlocal EnableDelayedExpansion
dir .\*.* /s /b|findstr "([0-9]).*$">.\list.txt
for /f %%i in (.\list.txt) do (
set filefullname=%%i
set filepath=%%~dpi
set filename=%%~ni
set fileext=%%~xi
set newfilename=!filename!!fileext!
call :ren
)
del .\list.txt
exit
:ren
set "newfilename=%newfilename:(1)=%"
set "newfilename=%newfilename:(2)=%"
set "newfilename=%newfilename:(3)=%"
set "newfilename=%newfilename:(4)=%"
set "newfilename=%newfilename:(5)=%"
set "newfilename=%newfilename:(6)=%"
set "newfilename=%newfilename:(7)=%"
set "newfilename=%newfilename:(8)=%"
if not exist "%filepath%%newfilename%" (
rename "%filefullname%" "%newfilename%"
) else (
del "%filefullname%"
)
goto:eof
假如括号里是(100)那我不得写一百行??
恳请指点
|
|