bat批量改文件名不带括号?

如图所示,我需要将文件名字改成:狗狗2,狗狗3,狗狗4,以此类推,,如图2下代码,只能改带后撮的文字名,更改不了文件名,我需要一串已写好代码能真正更改文件名的代码,跪求中

如果您想使用Windows中自带的批处理文件 (.bat) 来批量更改文件名并且不想包含括号,可以使用以下命令:
bashCopy code@echo off
setlocal enabledelayedexpansionfor %%f in (*.*) do ( set "filename=%%~nf"
set "extension=%%~xf"
set "newname=!filename:(= -! !extension!)!"
set "newname=!newname:)= -!"
ren "%%f" "!newname!%%~xf")

pause

这个批处理文件会将当前目录下的所有文件的文件名中的括号替换为“-”,并保留原始文件的扩展名。如果要在更改文件名时使用其他字符,只需将代码中的“-”更改为所需的字符即可。请注意,在此操作之前最好备份您的文件,以防出现意外的错误。追问

已复制,但执行时出现如下图,大佬怎么解决?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-02-15
只改一句
for /f "delims=" %%a in ('dir /ad-h/b') do (追问

感谢,大佬,已采纳,完美解决

本回答被提问者采纳
相似回答