Batch: In einer txt die ersten 5 Zeilen ans Ende kopieren
Hallo an Alle!
Zuerst mal großes Kompliment an diese Seite.
Nur durch Euch bin ich erst soweit gekommen, wo ich jetzt stehe ...
Nur habe ich trotz umfangreicher Suche noch keine Lösung für mein Problem gefunden.
Folgendes:
Ich habe schon ein kleines Script (dank eurer Hilfe) geschrieben, mit welchem ich eine .txt-Datei abändere und via FTP auf einen Server lege.
Nun will ich aber vor dem FTP in dieser txt Datei mittels Batch die ersten 5 Zeilen auslesen und dann ans Ende derselben Datei kopieren. Die Anzahl der Zeilen in diesem File variiert jedoch und ist nahezu niemals die selbe.
Folgende Codeschnipsel habe ich bereits:
Nun sollen vor dem "copy %part4% ..." die ersten 5 Zeilen vom Anfang ans Ende kopiert werden.
Ist das generell möglich und könntet Ihr mir da helfen.
Ich danke schon im Voraus
lg Wolfgang
Zuerst mal großes Kompliment an diese Seite.
Nur durch Euch bin ich erst soweit gekommen, wo ich jetzt stehe ...
Nur habe ich trotz umfangreicher Suche noch keine Lösung für mein Problem gefunden.
Folgendes:
Ich habe schon ein kleines Script (dank eurer Hilfe) geschrieben, mit welchem ich eine .txt-Datei abändere und via FTP auf einen Server lege.
Nun will ich aber vor dem FTP in dieser txt Datei mittels Batch die ersten 5 Zeilen auslesen und dann ans Ende derselben Datei kopieren. Die Anzahl der Zeilen in diesem File variiert jedoch und ist nahezu niemals die selbe.
Folgende Codeschnipsel habe ich bereits:
CMDOW @ /HIDsetlocalFOR %%i in (C:\test\*.txt) do call :loop "%%i"exit:loopset part1=%1set part2=%part1:~1,-1%set part3=%part2:~0,-4%set part4=%part3%_2.txtc:\php5\php.exe c:\test\ikea.php %part2% >%part4%move %part2% C:\test\altdaten\originalREM Hier sollen die ersten 5 Zeilen kopiert werdencopy %part4% c:\test\ftpftp -n -s:ftplogin.txt 255.255.255.255del /q c:\test\ftp\*.*move %part4% C:\test\altdaten
Nun sollen vor dem "copy %part4% ..." die ersten 5 Zeilen vom Anfang ans Ende kopiert werden.
Ist das generell möglich und könntet Ihr mir da helfen.
Ich danke schon im Voraus
lg Wolfgang
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 48812
Url: https://administrator.de/forum/batch-in-einer-txt-die-ersten-5-zeilen-ans-ende-kopieren-48812.html
Ausgedruckt am: 22.04.2025 um 00:04 Uhr
4 Kommentare
Neuester Kommentar
Versuchs mal so:
CMDOW @ /HID
setlocal enabledelayedexpansion
FOR %%i in (C:\test\*.txt) do call :loop "%%i"
exit
:loop
set zeile=1
set part1=%1
set part2=%part1:~1,-1%
set part3=%part2:~0,-4%
set part4=%part3%_2.txt
c:\php5\php.exe c:\test\ikea.php %part2% >%part4%
move %part2% C:\test\altdaten\original
REM Hier sollen die ersten 5 Zeilen kopiert werden
copy %part4% c:\test\ftp
ftp -n -s:ftplogin.txt 255.255.255.255
del /q c:\test\ftp\*.*
for /f %%i in (%part4%) do if !zeile! leq 5 echo %%i>>%part4% & set /a Zeile=!zeile!+1
move %part4% C:\test\altdaten
miniversum
CMDOW @ /HID
setlocal enabledelayedexpansion
FOR %%i in (C:\test\*.txt) do call :loop "%%i"
exit
:loop
set zeile=1
set part1=%1
set part2=%part1:~1,-1%
set part3=%part2:~0,-4%
set part4=%part3%_2.txt
c:\php5\php.exe c:\test\ikea.php %part2% >%part4%
move %part2% C:\test\altdaten\original
REM Hier sollen die ersten 5 Zeilen kopiert werden
copy %part4% c:\test\ftp
ftp -n -s:ftplogin.txt 255.255.255.255
del /q c:\test\ftp\*.*
for /f %%i in (%part4%) do if !zeile! leq 5 echo %%i>>%part4% & set /a Zeile=!zeile!+1
move %part4% C:\test\altdaten
miniversum