As the title states I need a batch file to delete the FIRST 3 lines of a text file.
for example:
A
B
C
D
E
F
G
in this example I need A,B and C deleted along with the line
How can you you insert a newline from your batch file output? You can insert an invisible ascii chr(255) on a separate line which will force a blank new line. Hold down the [alt] key and press 255 on the keypad.
more +3 "file.txt" >"file.txt.new"
move /y "file.txt.new" "file.txt" >nul
The above is fast and works great, with the following limitations:
The following solution using FOR /F with FINDSTR is more robust, but is much slower. Unlike a simple FOR /F solution, it preserves empty lines. But like all FOR /F solutions, it is limited to a max line length of a bit less than 8191 bytes. Again, all lines will be terminated by carriage return and linefeed.
@echo off
setlocal disableDelayedExpsnsion
>"file.txt.new" (
for /f "delims=" %%A in ('findstr /n "^" "file.txt"') do (
set "ln=%%A"
setlocal enableDelayedExpansion
echo(!ln:*::=!
endlocal
)
)
move /y "file.txt.new" "file.txt" >nul
If you have my handy-dandy JREPL.BAT regex text processing utility, then you could use the following for a very robust and fast solution. This still will terminate all lines with carriage return and linefeed (\r\n), regardless of original format.
jrepl "^" "" /k 0 /exc 1:3 /f "test.txt" /o -
You can write \n line terminators instead of \r\n by adding the /U
option.
If you must preserve the original line terminators, then you can use the following variation. This loads the entire source file into a single JScript variable, so the total file size is limited to approximately 1 or 2 gigabytes (I forgot the exact number).
jrepl "(?:.*\n){1,3}([\s\S]*)" "$1" /m /f "test.txt" /o -
Remember that JREPL is a batch file, so you must use CALL JREPL if you use the command within another batch script.
I use "more" command for outting file after nth line Command (windows)
More +n orginalfilename.txt > outputfilename.txt
Description: Outputting file of txt after nth line
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With