我正在尝试替换这一行:
# forward-socks5 / 127.0.0.1:9050 .
有了这个:
forward-socks5 / 127.0.0.1:9050 .
此行属于必须通过从开头删除 # 符号来启用(未注释)的配置文件,除了用没有 # 符号的另一行替换该行之外,我想不出更好的方法。
任何其他想法或方法都会非常有用。
顺便说一句,文本前的空格也在那里。
我已将文本粘贴在原始文件中。
提前致谢
编辑:
我以某种方式设法使用我发现的两种代码来添加和删除行。我唯一的问题是以下代码删除了输出文件中的每一位感叹号!
@echo off
:Variables
SETLOCAL ENABLEDELAYEDEXPANSION
set InputFile=config.txt
set OutputFile=config-new.txt
set _strFind=# forward-socks5 / 127.0.0.1:9050 .
set _strInsert= forward-socks5 / 127.0.0.1:9050 .
set i=0
:Replace
for /f "usebackq tokens=1 delims=[]" %%A in (`find /n "%_strFind%" "%InputFile%"`) do (set _strNum=%%A)
for /f "usebackq delims=" %%A in ("%InputFile%") do (
set /a i = !i! + 1
echo %%A>>"%OutputFile%"
if [!i!] == [%_strNum%] (echo %_strInsert%>>"%OutputFile%")
)
type %OutputFile% | findstr /i /v /c:"%_strFind%">config-new2.txt
我想知道是否有任何方法可以一步完成查找/删除/添加行(而不是像我的两个步骤)...