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 2 txt Datein Zeilenweise zusammenfügen

Frage Entwicklung Batch & Shell

Mitglied: Darkprodukt

Darkprodukt (Level 1) - Jetzt verbinden

11.02.2012, aktualisiert 17:47 Uhr, 5169 Aufrufe, 5 Kommentare

Ich habe zwar dieses Thema gefunden, aber die dort genannte Lösung fungtioniert bei mir nicht.
http://www.administrator.de/index.php?content=174339

Ich habe 2 txt Datein:

Datei1
01.
c:\bla\bla\ 
02.
c:\bla\bla\ 
03.
c:\bla\bla\bla\bla\ 
04.
c:\bla\ 
05.
...
Datei2
01.
datei.txt 
02.
dat.rar 
03.
date.iso 
04.
da.avi 
05.
...
Beide datein haben gleich viele Zeilen.

Ich möchte nun, die erste Zeile aus datei1 vor die erste Zeile aus datei2 schreiben, so das sich datein mit vorangstellten Pfaden finden.

Aus einem anderen Thered bin ich darauf gekommen:
01.
set "InFile1=%temp%\tempdatp.txt"  
02.
set "InFile2=%temp%\tempdatn.txt"  
03.
set "OutFile=%temp%\tempnew.txt"  
04.
 
05.
type >%temp%\tempnew.txt 
06.
 
07.
(  
08.
for /f "tokens=1* delims=" %%a in ('findstr /n "^" "%InFile1%"') do 	( 
09.
									set /p "Line="  
10.
									>> "%OutFile%" echo\%%b!Line!  
11.
12.
) < "%InFile2%"
Jedoch steht in tempnew.txt nicht z.b. "c:\bla\bla\datei.txt" usw. sondern: "c:\bla\ !Line! "
Was hab ich falsch gemacht?

Und wie müsste ich das abändern damit zwischen dem 1. string und dem 2. string ein [Lehrzeichen] ist?
Mitglied: bastla
11.02.2012 um 19:47 Uhr
Hallo Darkprodukt und willkommen im Forum!
Was hab ich falsch gemacht?
Kein
setlocal enabledelayedexpansion
verwendet?
Und wie müsste ich das abändern damit zwischen dem 1. string und dem 2. string ein [Lehrzeichen] ist?
Lehrzeichen kann ich Dir auch nicht sagen - ein Leerzeichen müsstest Du nur dazwischen setzen, also
>> "%OutFile%" echo\%%b !Line!
[Edit] Soferne es sich hier um die Fortsetzung Deines vorigen Threads handelt, stellt sich die Frage, ob Du tatsächlich die Zwischendateien brauchst oder nicht
for /f "usebackq delims=" %%i in ("Struck.txt") do for /f "delims=" %%j in ('dir /a-s-h-d /b /s "%%~i"') do echo %%~dpj %%~nxj >>%TEMP%\tempew.txt
genügt ...
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Darkprodukt
11.02.2012 um 20:20 Uhr
Ok danke, habe beim Abschreiben das "setlocal enabledelayedexpansion" wirklich vergessen

Aber es fungtioniert immer noch nicht




Ja es ist zwar eine vortsetzung aber so eine datei, wie die, die mir das erstellen würde:
01.
for /f "usebackq delims=" %%i in ("Struck.txt") do for /f "delims=" %%j in ('dir /a-s-h-d /b /s "%%~i"') do echo %%~dpj %%~nxj >>%TEMP%\tempew.txt
hab ich schon, dass ist nichts anderes als Temp.txt aber ich habe mich ja im vorherigen Thema noch darum bemüht den Pfad in einer anderen Datei als den Dateinamen stehen zu haben und zwar deshalb damit ich in der Dateinamen Datei z.b. die "_" rauslöschen kan usw. also hat das so schon seine Richtigkeit
Bitte warten ..
Mitglied: bastla
11.02.2012 um 20:35 Uhr
Hallo Darkprodukt!

Besonders informativ ist
Aber es fungtioniert immer noch nicht
zwar gerade nicht ...

... aber da Deine Dateien ja ohnehin keine Leerzeilen enthalten, sollte
01.
@echo off & setlocal enabledelayedexpansion 
02.
set "InFile1=%temp%\tempdatp.txt" 
03.
set "InFile2=%temp%\tempdatn.txt" 
04.
set "OutFile=%temp%\tempnew.txt" 
05.
 
06.
del "%OutFile%" 2>nul 
07.
<"%InFile2%" >>"%OutFile%" (for /f "usebackq delims=" %%a in ("%InFile1%") do set /p "Line=" & echo\%%a !Line!)
zum Ziel führen ...

Sollte es in den Daten "!" geben, dann:
01.
@echo off & setlocal 
02.
set "InFile1=%temp%\tempdatp.txt" 
03.
set "InFile2=%temp%\tempdatn.txt" 
04.
set "OutFile=%temp%\tempnew.txt" 
05.
 
06.
del "%OutFile%" 2>nul 
07.
<"%InFile2%" >>"%OutFile%" ( 
08.
    for /f "usebackq delims=" %%a in ("%InFile1%") do ( 
09.
        set /p "Line=" 
10.
        setlocal enabledelayedexpansion 
11.
        echo\%%a !Line! 
12.
        endlocal 
13.
14.
)
Grüße
bastla
Bitte warten ..
Mitglied: Darkprodukt
11.02.2012 um 23:09 Uhr
Danke fungtionier wunderbar. ^^

Jezt habe ich es in mein Batch programm eingebaut und jezt geht es nicht mehr
01.
:rename 
02.
set "InFile1=%temp%\tempdatna.txt"  
03.
set "InFile2=%temp%\temp.txt"  
04.
set "OutFile=%temp%\tempren.txt"  
05.
 
06.
type >%temp%\tempren.txt 
07.
type >%temp%\tempdatna.txt 
08.
 
09.
for /F "delims=" %%i in ('type "%temp%\tempdatn.txt"') do echo "%%i">>tempdatna.txt 
10.
 
11.
timeout /T 1 >NUL 
12.
 
13.
<"%InFile1%" >>"%OutFile%" 	( 
14.
							for /f "usebackq delims=" %%a in ("%InFile2%") do 	( 
15.
																				set /p "Line="  
16.
																				setlocal enabledelayedexpansion 
17.
																				echo\%%a !Line!  
18.
																				endlocal  
19.
20.
21.
 
22.
.wandler\wandler %TEMP%\tempren.txt /Q /L /T 
23.
 
24.
for /F "delims=" %%r in ('type "%temp%\tempren.txt"') do 	( 
25.
															ren %%r && echo Umbenannt: %%r 
26.
27.
 
28.
 
29.
timeout /t 10 >NUL 
30.
goto Programm
Kan es sein das Windows meine 130 Zeilen Batch nicht mehr verarbeiten kan oder was ist das Problem?

Mir brummt der kopf und ich finde keinen fehler.

Warscheinlich ist er in diesem abschnitt:
01.
for /F "delims=" %%i in ('type "%temp%\tempdatn.txt"') do echo "%%i">>tempdatna.txt
Aber ich find ihn nicht ;(
Bitte warten ..
Mitglied: bastla
11.02.2012 um 23:24 Uhr
Hallo Darkprodukt!

jezt geht es nicht mehr
Woran merkst Du das?
Welchen Sinn soll übrigens die Zeile
for /F "delims=" %%i in ('type "%temp%\tempdatn.txt"') do echo "%%i">>tempdatna.txt
haben - wenn Du in der Ausgabedatei Anführungszeichen um die Dateinamen herum haben willst, schreib das doch einfach in die Zeile 17 und spar Dir die Datei "tempdatna.txt" ...

Außerdem: Was steht nach der Zeile 22 (".wandler" sieht übrigens sehr interessant aus) in der Datei "tempren.txt"?

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

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 ...

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

Frage von Floh21 zum Thema Outlook & Mail ...

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

Frage von Haures zum Thema Windows Server ...