批处理做这个挺麻烦,用vbs吧
Dim A,fso,fs
Dim fl,x
set Fso=CreateObject("Scripting.FileSystemObject")
set fs=Fso.OpenTextFile("a.txt",1) '要替换的文本
set fl=Fso.CreateTextFile("b.txt",2) '替换后的文本
A=Array("&","^","!") '这里添加你所有的特殊字符
Do While fs.AtEndOfLine <> True
call Ffunction(fs.readline) '调用函数
Loop
Function Ffunction(t) '定义函数
for each i in A
x=replace(t,i,"dos") '这里输入替换成的字符默认"dos"
t=x
next
fl.writeline x
end Function