簡體   English   中英

從批處理腳本替換文本文件中的行

[英]Replace line in textfile from a Batch script

所以我有一個批處理腳本,它執行 telnet 到交換機並在其上運行一些命令。
我需要每次在文本文件中更改一行。 它是帶有 IP 地址的第 5 行。 我該怎么做?

@echo off
set IP=""
:start

set /p IP="Enter IP Adress:"

    echo : IP is set to %IP%
    cd "C:\Program Files\PuTTY\"
    echo : Trying to connect to %IP%
    plink.exe -telnet %IP% < C:\Users\w0w40\Desktop\5ahitn\shruns\commands.txt

for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a

pause
goto start

這是主要的批處理腳本,我需要替換 COMMANDS.txt

ITAC
enable
ITAC
copy running-config tftp:
10.51.11.75

我需要替換主批處理腳本中的 ip 地址

您不能用批處理替換文件中的某些內容。 您必須重新創建整個文件。

首先刪除最后一行。 這很簡單,因為它是唯一包含點的行:

find /v "." commands.txt > commands.tmp

然后將新行添加到新文件中:

>commands.tmp echo %NetworkIP%

並將其重命名為原始名稱:

move /y commands.tmp commands.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM