Cmd usuwanie 5 linijek z pliki txt

Jak usunąć 5 linijek przez cmd z pliku txt?

Których linijek… pierwszych, ostatnich, losowych itp.itd.

A co jeśli plik .txt ma ich tylko dwie ?

 

Ps. A dlaczego Twoje pytanie powiązałeś z działem Win7.

Cmd (interpreter poleceń) to obsługa pełnego spektrum systemów Windows

Akurat chciałem usunąć 5 pierwszych linijek a reszte zostawić

Akurat… to nikt tu nie ma szklanej kuli i nie wie co komu w “głowie” siedzi.

Ale do rzeczy…

Po pierwsze: nie taktuj tego, w ten sposób, że jestem niegrzeczny

Po drugie: nie leniuchuj i poklikaj w googlu co to jest CMD (interpreter poleceń) - jego zastosowanie, komendy itp.

Po trzecie: odpowiedz sobie na zadane pytanie i podaj odpowiedź na forum… dla potomnych.

 

PS. Jak sam dojdziesz do rozwiązania nie zapomnisz go przez dłuuugie lata :slight_smile:

Mała podpowiedź.

 

Polecenie “for” pozwala uzyskać to czego potrzebujesz.

Podpowiedź (chyba nie myślisz, że ktoś odwali czarną robotę za ciebie?): pętlą for odczytuj, instrukcją if sprawdź czy zmienna X jest większa niż 5 (wtedy zapisz), przeciwnie nalicz +1 do zmiennej.

Tutaj masz ładną dokumantację: http://ss64.com/nt/for_f.html

Jako że zaraz zrobi się z tego kod na kilkadziesiąt linijek (z for nie będzie takie proste i troszkę trzeba poklepać) to podpowiem:

more /e +5 wejscie.txt > wyjscie.txt

Radzę też się zainteresować powershell, bo CMD to historia:

Get-Content wejscie.txt | Select-Object -Skip 5 | Out-File wyjscie.txt

Dziekuje wam za pomoc :slight_smile:

@bachus: bardzo eleganckie rozwiązanie z tym _ more _. :slight_smile:

Ale wykorzystanie polecenie for wcale nie da jakiejś kobyły - poniżej polecenie realizujące nasze zadanie:

for /f "skip=5 delims=" %f in (wejscie.txt) do @echo %f>>wyjscie.txt