Posted on 2005-12-19 08:34
Raistlin 阅读(668)
评论(0) 编辑 收藏 引用 所属分类:
gear
转自
https://www.xfocus.net/bbs/index.php?act=SE&f=2&t=46712&p=190038。做过修改。
此链接推荐去看一看正文和回复...强淫啊
@echo on
setlocal
rem DPATH : 指定目录
rem FILETYPE: 指定文件类型
rem SCONTENT: 替换前的字符串
rem DCONTENT: 替换后的字符串
rem TMPFILE : 临时文件
set DPATH=c:\temp\test
set FILETYPE=*.txt
set SCONTENT=aaa
set DCONTENT=bbb
set TMPFILE=%random%.tmp
for /r %DPATH% %%i in ( %FILETYPE% ) do (
if exist %TMPFILE% ( del /f/q %TMPFILE% )
for /f "tokens=*" %%j in ('type "%%i"') do (
set TMP=%%j && echo !TMP:%SCONTENT%=%DCONTENT%!>nul 1>>%TMPFILE%
)
move /y %TMPFILE% %%i
)
endlocal
把以上内容保存为replace.bat,然后在命令行下执行cmd /v:on /c replace.bat
本例子实现了把c:\test目录(包括子目录)中所有txt文件中的aaa替换成bbb
set TMP=%%j && echo !TMP:%SCONTENT%=%DCONTENT%!>nul 1>>%TMPFILE%
奇怪的格式...
用到的是环境变量替换 set /? 查看帮助
不过也够怪异的...
实际上应该是
set TMP=%%j && echo !TMP:%SCONTENT%=%DCONTENT%!>>%TMPFILE%
?
cmd必须以 /v:on参数启动的...