下面的演示文件。在组[二]我想切换'启用组'介于0和0之间1,不影响文件的其余部分,包括行返回。
我发现的问题是有复制线; '启用群组'成为其中之一,所以我无法找到工作。
在这种情况下,编辑特定的LINE NUMBER不会起作用,因为即使所有文件都遵循此格式,组[3]也经常出现在不同的行上。
所有[abc]标题都是唯一的
我想尽可能只使用批次。感谢
; this is file information
; stuff
; last edited Thu Mar 23 01:13:18 2017
[general]
I/O = AB-1234
second line = 0
third line = 1
[i/o one]
enable group = 0
enable board = 0
memory size = 0
[two]
enable group = 0
[three]
enable group = 0
enable board = 0
memory size = 0
答案 0 :(得分:0)
echo off
cls
set /p number=set 1 or 0:
for /f "delims=:" %%a in ('findstr /i /n /c:"two" "test.txt"') do (
set /a line=%%a+1
) >nul
>"test.tmp" (
for /f "tokens=1* delims=:" %%a in ('findstr /v /n /c:"FileDoesNotContainThis" "test.txt"') do (
if "%%~a"=="%line%" (
echo Enable Group = %number%
) ELSE (
echo.%%b
)
)
)
MOVE "test.tmp" "test.txt" >nul
我对我写的内容有基本的了解,任何有兴趣帮助的问题