如何批处理修改文件名中的指定文字?

@echo off
Setlocal enabledelayedexpansion

Set "BeforeStr=文档"
Set "AfterStr="

For /r %%# in (*) Do (
Set "File=%%~nx#"
Ren "%%#" "!File:%BeforeStr%=%AfterStr%!"
)

Pause&Exit

这个程序只能删除文件名中的字母和符号,不能删除中文,怎么回事,如何修改?

@Echo Off&SetLocal ENABLEDELAYEDEXPANSION
FOR /f "delims=" %%a in ('dir /a-d /b /s ') do (
set "name=%%~nxa"
set "name=!name:111=222!"
if not "%%~nxa"=="!name!" ren "%%~a" "!name!"
)
exit
做成bat文件放到要处理的文件夹中,运行后你会发现所有文件名包含的111会全部变成222,当然,你要根据你实际需要而改动,把以上的111改成你需要指定改掉的文字内容,而222则改成你想要改成的文字内容,谢谢采纳。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-30
用total commander 选中文件,ctrl+m,在查找中填要被替换掉的,剩下的你就会了。
第2个回答  2019-10-31
应该是编码问题,用记事本另存为xx.bat时,编码要选择ANSI本回答被提问者和网友采纳
第3个回答  2019-10-31
设置一个输入法试一下
第4个回答  2019-10-31

    下载安装拖把更名器,打开

    请点击输入图片描述

    打开你要批量更名的文件(文件→添加文件)

    请点击输入图片描述

    请点击输入图片描述

    文件名中都有(www.baidu.com)这样的字符,我们想把它去掉,

    点击“替换”按钮,在把字后面输入(www.baidu.com),下面的替换成中输入你自己想换的文字,想去掉就什么都不输

    请点击输入图片描述

    请点击输入图片描述

    替换好后点击左上方的“应用”按钮,快捷键是Ctrl+E,这下你返回你的元文件夹看看,大功告成!

    请点击输入图片描述

相似回答