Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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, 4366 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Mit batch zeilen auslesen (2)

Frage von keksegriller zum Thema Batch & Shell ...

Batch & Shell
Per Batch Textdatei Spaltenweise auslesen nochmal weil ich dumm bin (9)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
Batch Textdatei Spaltenweise auslesen (7)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch ausgabe zeilenweise stat spaltenweise ausgeben (4)

Frage von sugram zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...