我需要在.ini文件中查找并替换ip地址。我之前的问题中的问题是我只需要更改服务中的一个IP地址。现在,我在同一.ini文件下的不同服务名称中有相同的文本变量。以下是详细信息。
我有以下内容。
SERVICE_NAME=Test1
SERVICE_L2TP_PEER_IPADDRESS=1.1.1.1
SERVICE_Name=Test2
SERVICE_L2TP_PEER_IPADDRESS=2.2.2.2
它是相同的模式,但在同一文件中有不同的服务名称。该脚本将定位上面的值,并将1.1.1.1更改为7.7.7.7和2.2.2.2更改为8.8.8.8。我需要一些关于如何定义要选择的服务的帮助,因为两个文本变量都是相同的。
以下是我以前用过的帖子。
答案 0 :(得分:1)
这将完成这项工作。
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET iniFile=some.ini
TYPE NUL>temp_file.ini
FOR /F "tokens=*" %%L IN (%iniFile%) DO (
SET currentLine=%%L
REM ECHO !currentLine:~0,28!
IF "!currentLine:~0,28!"=="SERVICE_L2TP_PEER_IPADDRESS=" (
SET currentLine=!currentLine:1.1.1.1=7.7.7.7!
SET currentLine=!currentLine:2.2.2.2=8.8.8.8!
)
ECHO !currentLine!>>temp_file.ini
)
MOVE /Y temp_file.ini %iniFile%
您必须使用ini文件的正确路径和文件名替换some.ini
。