假设存在C:\test文件夹,下面有很多TXT文件,就算100个吧,有的文件名还有空格,
如1.txt 2.txt 3.txt 3 0 0.txt 等等,现在要把这些文档文件里面的内容 A 替换成 B
经过处理可以当加密用,或者如果B是空的,那就是删除A,
代码如下:
@echo off
setlocal enabledelayedexpansion
set file=c:\test
:文件目录
set TYPEFILE=*.txt
:文件类型
set /p BEF=输入您须要替换前的字符,按回车结束.
:设置变量BEF
set /p AFT=输入您须要替换后的字符,按回车结束.
:设置变量
set TEMPFILE=%random%.tmp
:建立一个随机的临时文件
cls
echo.
echo ------------Made by Sparklt %date% %time% ------------
echo.
echo 您输入的 %BEF% 将会替换成 %AFT%
echo.
echo.
echo.
echo. 正在替换....
for /r %file% %%i in (%TYPEFILE%) do (
if exist %TEMPFILE% (del /f /q %TEMPFILE%)
for /f "usebackq tokens=*" %%j in ("%%i") do (
set TEM=%%j
echo !TEM:%BEF%=%AFT%! >>%TEMPFILE%
)
move /y %TEMPFILE% "%%i"
)
echo.
echo 替换完成
pause
endlocal
存在缺陷是替换的字母不分大小写,比如替换的是a,可是文件里面的A也被替换了.希望有高手指点.....感激不尽
如1.txt 2.txt 3.txt 3 0 0.txt 等等,现在要把这些文档文件里面的内容 A 替换成 B
经过处理可以当加密用,或者如果B是空的,那就是删除A,
代码如下:
@echo off
setlocal enabledelayedexpansion
set file=c:\test
:文件目录
set TYPEFILE=*.txt
:文件类型
set /p BEF=输入您须要替换前的字符,按回车结束.
:设置变量BEF
set /p AFT=输入您须要替换后的字符,按回车结束.
:设置变量
set TEMPFILE=%random%.tmp
:建立一个随机的临时文件
cls
echo.
echo ------------Made by Sparklt %date% %time% ------------
echo.
echo 您输入的 %BEF% 将会替换成 %AFT%
echo.
echo.
echo.
echo. 正在替换....
for /r %file% %%i in (%TYPEFILE%) do (
if exist %TEMPFILE% (del /f /q %TEMPFILE%)
for /f "usebackq tokens=*" %%j in ("%%i") do (
set TEM=%%j
echo !TEM:%BEF%=%AFT%! >>%TEMPFILE%
)
move /y %TEMPFILE% "%%i"
)
echo.
echo 替换完成
pause
endlocal
存在缺陷是替换的字母不分大小写,比如替换的是a,可是文件里面的A也被替换了.希望有高手指点.....感激不尽

