怎样用DOS命令替换文本里的某段字符
事情是这样的,我一个txt文件,我想把里面的所有3.6改成6*3
请问有什么方法吗?谢谢
精彩回答
2008-12-24 00:51
@echo off
setlocal enabledelayedexpansion
set file=
set /p file= 请输入要操作的文件名称(包括扩展名):
set "file=%file:"=%"
for %%i in ("%file%") do set file=%%~fi
set replaced=
set /p replaced= 请输入即将被替换的内容:
set all=
set /p all= 请输入替换字符串:
for /f "delims=" %%i in ('type "%file%"') do (
set str=%%i
set "str=!str:%replaced%=%all%!"
echo !str!>>"%file%"_tmp.txt
)
copy "%file%" "%file%"_bak.txt >nul 2>nul
move "%file%"_tmp.txt "%file%"
start "" "%file%"
5|评论
提问者对回答的评价:
谢谢了,不过能不能改成直接替换原文件而不另外生成新文件
按默认排序|按时间排序
其他回答 共2条
@echo off&&setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (我一个txt文件.txt) do (
set var=%%i
set "var=!var:3.6=6*3!"
echo !var!>>我一个txt文件_fin.txt
)
http://zhidao.baidu.com/question/80037354.html