Top-Themen

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 - Zeilen- und Spaltenweise einlesen und ausgeben

Frage Entwicklung Batch & Shell

Mitglied: mydom23

mydom23 (Level 1) - Jetzt verbinden

10.11.2009, aktualisiert 18.10.2012, 4395 Aufrufe, 3 Kommentare

Hi,

ich habe ein kleines Problem. Ich brauche ein Script dass mir zwei Dateien zusammenführt und den Inhalt der Dateien bearbeitet. Ziel ist es die zwei Dateien für einen Import vorzubereiten. Die zwei Dateien sehen wiefolgt aus:

Datei1:
01.01.2009;09:00;17,89;4;1;1
01.01.2009;09:12;21,13;4;1;1
01.01.2009;09:15;44,99;3;1;1

Datei2:
01.01.2009;09:15;44,99;3;2;1
01.01.2009;09:21;29,84;6;2;1

Aus diesen zwei Dateien soll eine Datei gemacht werden. Dabei muss jeweils der 5. Token einer Zeile angepasst werden. Als Ausgabe soll dann folgendes bei rauskommen:

01.01.2009;09:00;17,89;4;1;1
01.01.2009;09:12;21,13;4;1;1
01.01.2009;09:15;44,99;3;1;1
01.01.2009;09:15;44,99;3;1;1
01.01.2009;09:21;29,84;6;1;1

Folgendes habe ich bereits:
@echo off
COLOR 7
echo
echo Exportdateien zusammenfuerhen
echo
echo Welche Dateien wollen Sie zusammenfuehren?
:readfile1
set /p file1=Datei 1:
IF exist %file1% (
COLOR 7
echo OK
) ELSE (
COLOR C
echo !!!!! Datei %file1% nicht gefunden !!!!!
goto :readfile1
)
:readfile2
set /p file2=Datei 2:
IF exist %file2% (
COLOR 7
echo OK
) ELSE (
COLOR C
echo !!!!! Datei %file2% nicht gefunden !!!!!
goto :readfile2
)
echo Wie soll die erzeugte Datei heissen?
set /p outputname=Dateiname:
for /F "Tokens=5 delims=;" %%i in (%file1%) do set abteilung=%%i
* HIER MUSS DIE DATEI ZEILENWEISE AUSGELESEN WERDEN, DER 5. TOKEN GEÄNDERT WERDEN UND IN EINE DATEI GESCHRIEBEN WERDEN *
pause

Hier werden zunächst die beiden Dateien angegeben, der Name der Ausgabedatei festgelegt und die Referenznummer eingelesen auf welche der 5. Token geändert werden soll. Die Ausgabe in eine Datei ist auch kein Problem. Das bekomme ich mit "echo %var% >> %outputname%" hin. Jedoch weiß ich nicht wie ich es schaffe die Dateien zeilenweise durch zu gehen und jeweils die 5. Spalte zu ändern.

Ich hoffe jemand kann mir da weiter Helfen und nen kleinen Tipp geben. Ich bin im batchen leider nicht so fit.

Danke.
Mitglied: 60730
10.11.2009, aktualisiert 18.10.2012
Servus,

bitte benutze die Fomatierungshilfe und genauer Code Blöcke.

Dann:

COLOR 7
ist kein gültiger Befehl...

dann würde ich auch mal nach einem Beitrag meinerseits nachsehen, der sich suchen und ersetzen nennt.
Dort sind einige "Such & Ersetzen" Threads zu finden.

btw:
01.
copy %file1% + %file2% outputname 
02.
sort outputname /o outputname.txt
so würde ich das weiterführen.
Nur was genau die Zeile machen soll?
for /F "Tokens=5 delims=;" %%i in (%file1%) do set abteilung=%%i
Hab ich ehrlich nicht verstanden..


Gruß
Bitte warten ..
Mitglied: bastla
10.11.2009 um 12:14 Uhr
Hallo mydom23!

Um in Datei2 jeweils als 5. Token den Inhalt von %abteilung% einzutragen, etwa so:
01.
move %file2% %file2%.tmp 
02.
for /f "tokens=1-6 delims=;" %%a in (%file2%.tmp) do >>%file2% echo %%a;%%b;%%c;%%d;%abteilung%;%%f 
03.
del %file2%.tmp
Grüße
bastla
Bitte warten ..
Mitglied: mydom23
10.11.2009 um 12:23 Uhr
Hi,
danke bastla so funktionierts.
Habe nicht gewusst dass man dem %%a einfach ein %%b %%c etc. anhängen kann ohne diese zu definieren.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch ausgabe zeilenweise stat spaltenweise ausgeben
gelöst Frage von sugramBatch & Shell4 Kommentare

Hallo Ich versuche nun schon seit einiger Zeit mein "Problem" zu lösen. Aber ich bekomme es einfach nicht hin. ...

Batch & Shell
Batch Textdatei Spaltenweise auslesen
Frage von PinkFLuffyUnicornBatch & Shell7 Kommentare

hi, ist es irgendwie möglich anstatt eine Textdatei via Batch Spaltenweise auszulesen und nicht zeilenweise wie das normal ganz ...

Batch & Shell
Zeilen aus Datei auf einem Netzwerkspeicher einlesen und NUMMERIERT auflisten in BATCH
gelöst Frage von Fabian-HaasBatch & Shell10 Kommentare

Hallo, Ich möchte mithilfe einer Batchdatei verschiedene Netzwerkfreigaben eines Benutzers nummeriert auflisten. Diese sind in einer Datei auf dem ...

C und C++
String einlesen in Array und wieder ausgeben von hinten
Frage von ProtectedC und C++4 Kommentare

Hallo, ich würde gerne einen String einlesen bzw. char und dann andersrum wieder ausgeben. Also: Otto Maoam zu: maoaM ...

Neue Wissensbeiträge
Windows 10

Windows 10 Hello-Anmeldung per Foto ausgehebelt

Tipp von kgborn vor 3 StundenWindows 10

Windows Hello ist eine Funktion, um sich per Fingerabdruck-, Gesichts- oder Iriserkennung bei Windows 10-Geräten anzumelden (siehe), setzt aber ...

Perl

Perl hat heute Geburtstag: 30 Jahre Perl: Lange Gesichter zum Geburtstag

Information von Penny.Cilin vor 11 StundenPerl2 Kommentare

Hallo, auch wenn es wenige wissen und noch weniger Leute es nutzen. Perl hat heute Geburtstag. 30 Jahre Perl ...

Sicherheit

Blackberry stirbt - Keine Updates für Priv mehr

Tipp von certifiedit.net vor 11 StundenSicherheit1 Kommentar

Blackberry wird zu einer 08/15 Firma und geht wohl mehr und mehr den Weg, den HTC schon ging. Von ...

Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 2 TagenWindows 1012 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Heiß diskutierte Inhalte
Windows Server
SCCM 2016: PXE Boot des Clients schlägt fehl
Frage von gabeBUWindows Server23 Kommentare

Hallo Zusammen Ich habe eine Testumgebung erstellt um über SCCM 2016 einen virtuellen Client aufzusetzen. Folgende Maschinen habe ich ...

Netzwerkgrundlagen
Belibiges Teilnetz einer Subnetzmaske rausfinden?
gelöst Frage von CenuzeNetzwerkgrundlagen19 Kommentare

Wundervollen Gutentag, mittlerweile kann ich Subnetting so einigermaßen, aber ein Problem habe ich noch. Netzwerkadresse und Boradcast errechnen ist ...

LAN, WAN, Wireless
WLAN Reichweite erhöhen mit neuer Antenne
gelöst Frage von gdconsultLAN, WAN, Wireless12 Kommentare

Hallo, ich besitze einen TL-WN722N USB-WLAN Dongle mit einer richtigen Antenne. Ich frage mich jetzt ob man die Reichweite ...

Exchange Server
Exchange empfängt Emails - Kann aber keine Senden
gelöst Frage von niklasschaeferExchange Server11 Kommentare

Hallo, ich stehe gerade bei mir zuhause vor folgender Problemstellung. Gegeben sind 2x Hyper-V Host mit Windows Server 2016 ...