Hoe selecteer ik vanaf een DOS prompt de laatste 15 regels van een tekstbestand?

Ik heb een lang tekstbestand. Ik wil geheel automatisch vanuit een batch-bestand ( .bat ) de laatste 15 regels van dat tekstbestand in een ander bestand zetten.

Ofwel: alles moet weg, alleen de laatste 15 regels moeten worden bewaard.

Op Internet vind ik diverse programma's die hetzelfde doen als het tail-commando in Unix. Maar die zijn vaak interactief, en ik zoek juist iets dat zijn werk in stilte doet. Ook zijn die tail-klonen vaak gespecialiseerd in "tail -f", ofwel het continu monitoren van een tekstbestand, en dat wil ik niet.

Eigenlijk zoek ik dus alleen maar een simpel knip-en-plak-programma.

Waar vind ik een zo eenvoudig mogelijk programmaatje dat doet wat ik wil?
 

Weet jij het antwoord?

/2500

Het beste antwoord

Hè weer eens lekker ouderwets geprogrammeerd :-) Met onderstaande batch-file moet het lukken: @echo off setlocal EnableDelayedExpansion set "cmd=findstr /R /N "^^" %1| find /C ":"" for /f %%a in (’!cmd!’) do set number=%%a set /a start= %number% -%2 if %start% LSS 1 set /a start=0 more %1 +%start% Save als ‘tail.bat’ en dan te gebruiken als: tail.bat [filenaam] [aantal regels] tail.bat file.txt 15 of tail.bat file.txt 15 > dump-file.txt Toegevoegd na 1 uur: Voor diegene die deze constructie ook willen gebruiken, merk op wat Cryofiel terecht in de reaktie schrijft: GV zet de gewone ’ om in de "krullerige" variant, dus dat moet je herstellen ! (alles gewone ' dus)

Installeer Cygwin en je hebt (bijna) alle Unix-commando's tot je beschikking.

Bronnen:
http://www.cygwin.com/

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100