事情是這樣的,我一個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