例如,第 2 行显示为:“0”(不带引号)。我想将该 0 更改为 1,而不更改文本文件中的任何其他内容。
我知道值将在哪一行,所以我只需要知道如何将该值更改为我指定的另一个值。我也必须对字符串进行相同的处理,而不仅仅是数字。
例子:
从:
4.7
0
check
0
1
0
0
至:
4.7
1
check
0
1
0
0
谢谢!
例如,第 2 行显示为:“0”(不带引号)。我想将该 0 更改为 1,而不更改文本文件中的任何其他内容。
我知道值将在哪一行,所以我只需要知道如何将该值更改为我指定的另一个值。我也必须对字符串进行相同的处理,而不仅仅是数字。
例子:
从:
4.7
0
check
0
1
0
0
至:
4.7
1
check
0
1
0
0
谢谢!
尝试这个:
@ECHO OFF &SETLOCAL
SET "file=file"
SET /a Line#ToSearch=2
SET "Replacement=0"
(FOR /f "tokens=1*delims=:" %%a IN ('findstr /n "^" "%file%"') DO (
SET "Line=%%b"
IF %%a equ %Line#ToSearch% SET "Line=%Replacement%"
SETLOCAL ENABLEDELAYEDEXPANSION
ECHO(!Line!
ENDLOCAL
))>"%file%.new"
TYPE "%file%.new"
注意:这不适用于以冒号开头的行:
,如果需要,这可能会被修复。