如何创建批处理脚本以替换文件中的字符串而不创建输出

时间:2016-05-25 05:31:29

标签: windows batch-file cmd scripting

我正在创建一个脚本,它找到旧的ip并用给定输入文件中的新ip替换。我跟踪了一些来自互联网的例子,我写了以下脚本

@echo off&setlocal  
setlocal enabledelayedexpansion  
FOR /F "tokens=2 delims=:" %%f IN ('ipconfig ^| findstr /IC:"IPv4 Address"') DO set ip=%%f  
set ip1=%ip:~1%  
echo %ip1%  
set "search=old IP"  
set "replace=New IP"  
set "textfile=sample.txt"  
set "newfile=Output.txt"  
set OUTPUTLINE=  
for /f "tokens=1,* delims=¶" %%A in ( '"findstr /n ^^ %textfile%"') do (
    SET string=%%A
    for /f "delims=: tokens=1,*" %%a in ("!string!") do set "string=%%b"
    if  "!string!" == "" (
        echo.>>%newfile%
    ) else (
        SET modified=!string:%search%=%replace%!
        echo !modified! >> %newfile%
    )
)  
del %textfile%  
rename %newfile% %textfile%  
)  
)  
endlocals

但我对创建一个新文件不感兴趣,我需要自己修改同一个文件中的数据,以避免发生错误。你能不能请任何人帮助我。

0 个答案:

没有答案