删除行(包括空行)

时间:2016-02-29 08:23:52

标签: windows batch-file

您好我正在尝试使用批处理文件从多个.txt文件的顶部删除前3行。第一行和第二行包含文本,第三行是空白。我试图找到一种方法来根据行号删除行。

e.g Line 1 ABCD     
    Line 2 EFG
    Line 3
    Line 4 cool this works
    Line 5 line of text
    Line 6 line of text
    Line 7 
    Line 8 line of text

我使用下面的代码但是,我必须将变量作为“关键字”,我想使用行号作为变量。此外,由于某种原因,光标始终在每个“new.txt”文件的顶部创建一个空行。

@ECHO OFF
SETLOCAL
FOR %%i IN (C:\source\*.txt) DO (
TYPE "%%i"|FINDstr /l /v "ABCD  EFG" >> C:\newfiles\%%~ni.new
)
GOTO :EOF

1 个答案:

答案 0 :(得分:2)

尝试使用此代码:

@echo off
set InPutfile=InputFile.txt
set OutputFile=OutPutfile.txt
(
    for /F "usebackq skip=3 delims= eol=" %%L in (`Type "%InPutfile%"`) do echo %%L
)>%OutputFile%
Start "" %OutputFile%