需要您的帮助来开发批处理文件,以便在文本文件中读取/查找字符串并在“之前”插入新行;
对于瞬间,将以下文本更改为(在Z10之前插入“R 100”)
a 1
b 2
c 3
z 10
q 15
a 1
b 2
c 3
R 100
z 10
q 15
=============================================== ==============================
我找到了类似的代码并试图根据我的需要修改它。但它不起作用!!你可以给我一个提示,为什么下面的代码不起作用!!!
@echo off
setlocal
set inputfile=C:\Users\Desktop\test\file1.txt
set outputfile=C:\Users\Desktop\test\file2.txt
set "start="
for /f usebackq^ delims^=^ eol^= %%a in ("%inputfile%") do (
if not defined start set "start=1" & break > "%inputfile%"
if "%%~a"=="z 10" >>"%inputfile%" echo( R 100)
)>>"%outputfile%" echo(%%a)
答案 0 :(得分:0)
您的代码中存在多个失败 - 包括删除您的输入文件。
@echo off
set inputfile=C:\Users\Desktop\test\file1.txt
set outputfile=C:\Users\Desktop\test\file2.txt
(for /f usebackq^ delims^=^ eol^= %%a in ("%inputfile%") do (
if "%%~a"=="z 10" echo R 100
echo %%a
))>"%outputfile%"
注意:这将跳过空行。
(我认为for /f "usebackq delims=" %%a ...
也会有用)