---
title: "Bat fil- Ändring av dem sista 10 raderna"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/191497-bat-fil-ändring-av-dem-sista-10-raderna"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "pavel"
published: "2013-07-07T19:21:14.000Z"
updated: "2013-07-08T19:11:35.000Z"
replies: 1
views: 1067
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/webbutveckling/191497-bat-fil-ändring-av-dem-sista-10-raderna"
---

# Bat fil- Ändring av dem sista 10 raderna

## #1 — pavel, 2013-07-07T19:21Z

```
@echo off > newfile & setLocal enableDELAYedexpansion
copy /Y E:\LOG.DIR LOG.DIR
set old=INACTIVE
set new=ACTIVE

for /f "tokens=* delims=" %%a in (LOG.DIR) do (
set str=%%a
echo %:)
set str=!str:%old%=%new%!
>> newfile echo !str!
)

pause
```

Hur gör jag för att ändra bara dem sista 20 raderna och inte hela innehållet.
Tacksam för svar

Permalänk: https://www.webforum.nu/p/191497

## #2 — Jojoxx, 2013-07-08T19:11Z

Jag skrev ett eget exempel. Du förstår säkert vad du behöver ändra för att det skall passa dig. I korthet: först räkna antalet rader i filen. Dra ifrån antalet rader du vill göra något med i slutet på filen (20). Loopa igenom filen igen med en räknare och kolla om räknaren är större än x.

```
@echo off
setlocal EnableDelayedExpansion

set flen=0
for /f %%i in (c:\text.txt) do (
    set /A flen=flen+1
)
set /a readfrom=flen-20
set count=0
for /f %%i in (c:\text.txt) do (
  set /A count=count+1
  if !count! GTR !readfrom! (
    echo Do something with one of the last 20 lines containing %%i
  ) else (
    echo Do something with the first lines of the file containing %%i
  )
)
```

Permalänk: https://www.webforum.nu/p/2313055

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/191497-bat-fil-ändring-av-dem-sista-10-raderna
