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 Inhalt aus zwei .txt Dateien auslesen und in eine .txt hintereinander zusammenfügen

Mitglied: alex-w

alex-w (Level 1) - Jetzt verbinden

05.11.2007, aktualisiert 15:54 Uhr, 6588 Aufrufe, 6 Kommentare

Hallo ich will aus Datei1 eine Zeile auslesen, dann aus Datei2 dasselbe.
Diese sollen dann hintereinander in eine neue Datei geschrieben werden.

Habs so probiert:

for /f "tokens=1" %%a in (liste1.txt) do (
for /f %%b in (liste2.txt) do (echo %%b %%a)
) >>info.txt

Das tut fast das Richtige. Aber es wird für jeden Wert aus liste1.txt die Werte aus liste2.txt hinzugefügt.

Sieht dann also so aus:

wert1.liste1 wert1.liste2
wert1.liste1 wert2.liste2
wert1.liste1 wert3.liste2

wert2.liste1 wert1.liste2
wert2.liste1 wert2.liste2
wert2.liste1 wert3.liste2


Es soll aber nur Wert1 aus Liste1 nur mit Wert1 aus Liste2 verknüpft werden. usw.
Mitglied: bastla
05.11.2007 um 14:27 Uhr
Hallo alex-w und willkommen im Forum!

Versuch es mal mit folgender Vorgangsweise:
01.
@echo off & setlocal 
02.
set "L1=Z:\liste1.txt" 
03.
set "L2=Z:\liste2.txt" 
04.
set "Ziel=Z:\info.txt" 
05.
 
06.
if exist "%Ziel%" del "%Ziel%" 
07.
set /a Nr=0 
08.
for /f "usebackq tokens=1" %%a in ("%L1%") do set "Line1=%%a" & call :ProcessLine 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
set Line2= 
13.
if %Nr% gtr 0 ( 
14.
	for /f "usebackq skip=%Nr%" %%b in ("%L2%") do if not defined Line2 set "Line2=%%b" 
15.
) else ( 
16.
	for /f "usebackq" %%b in ("%L2%") do if not defined Line2 set "Line2=%%b" 
17.
18.
echo %Line2% %Line1%>>"%Ziel%" 
19.
set /a Nr+=1
Zu jeder Zeile der ersten Liste wird durch das "skip" und die Prüfung auf "not defined" nur die korrespondierende Zeile der 2. Liste gelesen.

Etwas eleganter wäre vielleicht diese Variante:
01.
@echo off & setlocal 
02.
set "L1=Z:\liste1.txt" 
03.
set "L2=Z:\liste2.txt" 
04.
set "Ziel=Z:\info.txt" 
05.
 
06.
if exist "%Ziel%" del "%Ziel%" 
07.
set /a Nr=1 
08.
for /f "usebackq tokens=1" %%a in ("%L1%") do set "Line1=%%a" & call :ProcessLine 
09.
goto :eof 
10.
 
11.
:ProcessLine 
12.
for /f "tokens=1* delims=:" %%b in ('findstr /n . "%L2%"^|findstr /b "%Nr%:"') do set "Line2=%%c" 
13.
echo %Line2% %Line1%>>"%Ziel%" 
14.
set /a Nr+=1
Durch das erste "findstr" wird der Inhalt von "liste2" mit Zeilennummerierung angegeben und durch das zweite "findstr" nur die passende Zeile herausgefiltert.

Grüße
bastla
Bitte warten ..
Mitglied: alex-w
05.11.2007 um 14:53 Uhr
Danke für die superschnelle Antwort die zweite Variante ist in der Tat übersichtlicher und schlanker.

Getestet und funktioniert.

allerdings felhe hier ein Komma

"tokens=1,*

Besten Dank Alex
Bitte warten ..
Mitglied: bastla
05.11.2007 um 15:08 Uhr
Hallo alex-w!

allerdings felhe hier ein Komma
"tokens=1,*
... was welche Konsequenzen hätte?

Grüße
bastla
Bitte warten ..
Mitglied: alex-w
05.11.2007 um 15:26 Uhr
Schleife läuft dann nicht. Es wird einfach abgebrochen.
Bitte warten ..
Mitglied: bastla
05.11.2007 um 15:36 Uhr
Hallo alex-w!

Schleife läuft dann nicht. Es wird einfach abgebrochen.
Kann ich nicht nachvollziehen ...

Sowohl mit dem geposteten Batch als auch von der Kommandozeile (als Beispiel für Zeile 2) mit
01.
for /f "tokens=1* delims=:" %b in ('findstr /n . "liste2.txt"^|findstr /b "2:"') do @echo %c
erhalte ich das gewünschte Ergebnis - aber da Du ja für Dich eine Lösung gefunden hast, spielt's eigentlich keine Rolle mehr ...

Grüße
bastla
Bitte warten ..
Mitglied: alex-w
05.11.2007 um 15:54 Uhr
Ist ja auch egal. Trotzdem nochmal herzlichsten Dank.
Bitte warten ..
Ähnliche Inhalte
Entwicklung

Zwei .txt Dateien via PowerShell zusammenfügen

gelöst Frage von Alex1809Entwicklung2 Kommentare

Ahoi, ich habe ein kleines Problem bei der Skript Erstellung, mit PowerShell. Und zwar habe ich zwei txt Dateien, ...

Batch & Shell

Batch: Txt Datei mit mehreren Zeilen auslesen, wandeln und hintereinander wiedergeben

gelöst Frage von MentacorBatch & Shell4 Kommentare

Hallo zusammen, Ich habe eine Frage zu einem Problem mit meiner Batch Meine Frage: Ist es möglich aus einer ...

VB for Applications

Inhalt einer Textbox in eine .txt Datei schreiben

gelöst Frage von Just4fun1990VB for Applications4 Kommentare

Hallo Administrator.de User, ich habe jetzt schon sehr lange gesucht und finde leider nichts. Hier allerdings habe ich gute ...

Batch & Shell

Powershell zwei Schnippsel zusammenfügen

gelöst Frage von JoshuaTreeBatch & Shell10 Kommentare

Get-XAApplication -FolderPath "applications\test" Das ist der gesamte Aufruf Get-XAApplication -FolderPath "applications\test" ist der erste Teil und gibt alle Anwendungen ...

Neue Wissensbeiträge
Microsoft

Neuigkeiten zu Server und Office 365 was läuft mit was und was nicht

Tipp von AlFalcone vor 1 TagMicrosoft4 Kommentare

Da diese Infos scheinbar unerwünscht sind, habe ich diese wider gelöscht.

Speicherkarten

Neuer Speicherkartentyp - zunächst nur für Huawei-Smartphones (künftig auch für Notebooks u. Tablets?)

Tipp von VGem-e vor 1 TagSpeicherkarten1 Kommentar

Servus, als ob das "Chaos" i.S. Speicherkarten noch nicht groß genug wäre?! Evtl. kommt dieser neue Kartentyp bald auch ...

Sicherheit

Diverse D-Link-Router durch drei Schwachstellen kompromittierbar

Information von kgborn vor 1 TagSicherheit

Hat jemand D-Link-Router in Verwendung? Einige Modelle sind sicherheitstechnisch offen wie ein Scheunentor. Äußerst unschöne Sache, aber nichts neues ...

Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 2 TagenHardware3 Kommentare

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Heiß diskutierte Inhalte
Sicherheitsgrundlagen
EuGH-Urteil - Internetanschluss für die ganze Familie - Filesharer haften trotzdem
Frage von StefanKittelSicherheitsgrundlagen40 Kommentare

Hallo, In diesem Artikel geht es darum, dass Jemand aus der Familie ein Hörbuch illegal hochgeladen hat. Der Vater ...

Off Topic
SysAdmin im öffentlichen Dienst - jemand Erfahrungen?
Frage von JohnDorianOff Topic20 Kommentare

Hallo zusammen, hat jemand Erfahrung wie es so ist als SysAdmin im öffentlichen Dienst (Landkreis) im Südwesten der Republik ...

DSL, VDSL
PPPOE Einwahl über Sophos UTM und FritzBox per PPPOE Passthrough
gelöst Frage von Leo-leDSL, VDSL16 Kommentare

Hallo zusammen, vielleicht habt Ihr noch eine Idee?? Ich besitze einen 1u1 Anschluss und möchte meine UTM ASG 110 ...

TK-Netze & Geräte
Low budget TK-Anlage für KMU
Frage von HeinklugTK-Netze & Geräte16 Kommentare

Hallo Admins, ich bin auf der Suche nach eine kostengünstigen Telefonanlage für mein kleines Büro mit 4-5 Mitarbeitern. Dabei ...