使用批处理文件“读取”文本文件,在字符串文本文件之前“插入”新行

时间:2014-06-19 01:48:41

标签: batch-file insert

需要您的帮助来开发批处理文件,以便在文本文件中读取/查找字符串并在“之前”插入新行;

对于瞬间,将以下文本更改为(在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)

1 个答案:

答案 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 ...也会有用)