Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 删除行(包括空行)_Windows_Batch File - Fatal编程技术网

Windows 删除行(包括空行)

Windows 删除行(包括空行),windows,batch-file,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 我使用了下面的代码,但是,我必须把变量作

嗨,我正在尝试用批处理文件删除多个.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

请尝试使用此代码:

@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%

要删除前3行,请使用:
“C:\newfiles\file.new”(for/F usebackq^skip^=3^delims^=^eol^=%%L in(“C:\source\file.txt”)do echo(%%L)
我给了它一个bash,但它返回一个空白文件。我将继续研究。
更多+3 input.txt>output.txt
,但它将制表符替换为空格(这可能是个问题,也可能不是问题)输出为空。可能是选项卡。
more/E+4 C:\a\*.txt>C:\b\newfile.new
提供所需结果减去多文件部分XD。
for/F
将跳过所有空行,例如给定示例中的第7行。此外,
eol=“
将用前导的
双引号扼杀所有行。