Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch: In einer txt die ersten 5 Zeilen ans Ende kopieren

Frage Entwicklung Batch & Shell

Mitglied: James2870

James2870 (Level 1) - Jetzt verbinden

15.01.2007, aktualisiert 12:10 Uhr, 4975 Aufrufe, 4 Kommentare

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:

CMDOW @ /HID
setlocal
FOR %%i in (C:\test\*.txt) do call :loop "%%i"
exit

:loop
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\*.*

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
Mitglied: miniversum
15.01.2007 um 11:52 Uhr
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
Bitte warten ..
Mitglied: James2870
15.01.2007 um 12:02 Uhr
Hallo miniversum!

Vielen Dank für die rasche Antwort.

Das Ganze funktioniert auch, jedoch nicht ganz so, wie es sollte.

Die ersten 5 Zeilen werden zwar kopiert und wieder am Ende angehängt, jedoch nicht vollständig, sondern nur bis zum ersten Leerzeichen in der Zeile - dh die eingefügten Zeilen sind um einiges kürzer als die ursprünglichen.

Gibts dafür auch eine Lösung?

Danke, Wolfgang
Bitte warten ..
Mitglied: miniversum
15.01.2007 um 12:05 Uhr
Ups nicht dran gedacht. Ändere mal die For Schleife folgendermasen ab:
for /f "delims=" %%i in (%part4%) do if !zeile! leq 5 echo %%i>>%part4% & set /a Zeile=!zeile!+1

miniversum
Bitte warten ..
Mitglied: James2870
15.01.2007 um 12:10 Uhr
Super!

Vielen, vielen Dank!

Funktioniert einwandfrei!

Ihr seid doch die Besten ...

lg Wolfgang
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mit Batch Zeilen aus TXT modifizieren (4)

Frage von chef1568 zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch in ausgewählte oder vorgeschriebene Zeile einer .txt schreiben (6)

Frage von pdiddo zum Thema Batch & Shell ...

Batch & Shell
gelöst In allen Textdateien eines bestimmten Pfades die Zeilen x bis Ende löschen (2)

Frage von Schloth zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

Link: Neues Botnetz über IoT-Geräte

Information von certifiedit.net zum Thema Viren und Trojaner ...

Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Externe IP von innen erreichbar machen (15)

Frage von Windows10Gegner zum Thema Router & Routing ...

Windows Installation
Windows 10 neu installieren (11)

Frage von imebro zum Thema Windows Installation ...

Windows Server
Frage zu Server Rack (11)

Frage von rainergugus zum Thema Windows Server ...