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 Per Batch, 1.Lösung, alle Zeilenumbrüche aus einer TXT-Datei entfernen oder alternativ geziehlte Textblöcke aus einer TXT-Datei in eine zweite kopieren

Mitglied: willimoeglich

willimoeglich (Level 1) - Jetzt verbinden

22.01.2010, aktualisiert 17:30 Uhr, 7967 Aufrufe, 6 Kommentare

Hallo, habe schon viele tolle Anregungen in diesem Forum gefunden, und hoffe ein Batch-Spezi findet sich und kann mein Problem lösen.

Ausgangsproblem ist, aus einer Text-Datei definierte Abschnitte in separate Text-Dateien zu kopieren. Die Ausgangsdatei hat folgendes Aussehen:

\\Berlin\Hauptstr8\Hotel_zum_Löwen
Hans.Meier keine Telefon
Werner.Meier kein Telefon
\\Berlin\Bahnhofstr11\Hotel An der Bahn
Ute.Wagner handy
\\Bonn\Uferstr888\Hotel zum Sonderzeichen$
Bernd.Richter isdn-telefon

In einer Steuerdatei habe ich alle Hotelnamen, welche per FOR-schleife ausgelesen werden. Für die jeweiligen Anschriften sollen nun in separaten TXT-Dateien, die Bewohnernamen
mit den Telefonangaben aus der Ausgangsdatei kopiert werden.
Mein erster Gedanke war, das mit FINDSTR und RegEx suche zu machen, aber das geht leider nur Zeilenweise und dazu müsste die ganze Ausgangsdatei in einer Zeile vorliegen.
Denn die \\ und der Hotelname sind immer vorhanden. Zwischen zwei mal vorkommenden \\ als zeilenanfang, hätte ich den Block den ich dann noch von den unwichtigen
Inhalten, wie Ort\Straße und Hotelname befreien könnte.
Falls es die Lösung vereinfacht, so kann ich auch vor jeder Anschriftenzeile eine Leerzeile einfügen.

Also erste Frage, wie bekomme ich alle Zeilenumbrüche aus der Ausgangsdatei haraus?

Wenn jemand eine andere Lösung, zum gezielten rauskopieren der Namenszeilen hat währe das auch nicht schlecht und als Alternative willkommen.

In den Zieldateien sollte dann folgendes stehen:
1.Datei soll heißen: Hotel_zum_Löwen.txt und beinhalten:
Hans.Meier keine Telefon
Werner.Meier kein Telefon
2.Datei soll heißen: Hotel an der Bahn.txt und beinhalten:
Ute.Wagner handy

usw.
Mitglied: LotPings
22.01.2010 um 18:39 Uhr
Hallo Willi,

deine Aufgabenstellung ist zwar nicht ganz eindeutig aber versuch es mal hiermit:

01.
@Echo off&Setlocal 
02.
set Ausgangsdatei=.\Hotels.txt 
03.
if defined Hotel set "Hotel=" 
04.
For /f "delims=" %%A in (%Ausgangsdatei%) do Call :check "%%~A" 
05.
Pause 
06.
Goto :eof 
07.
:Check 
08.
Set Line=%~1 
09.
if "%Line:~0,2%" EQU "\\" set "Hotel=%Line:~2%"&goto :NewHotel 
10.
if defined Hotel Echo/%~11>>"%Hotel%.txt" 
11.
goto :Eof 
12.
:NewHotel 
13.
If "%Hotel%" NEQ "%Hotel:*\=%" Set "Hotel=%Hotel:*\=%"&Goto :NewHotel 
14.
Echo Neues Hotel=%Hotel% 
15.
:: hier noch mögliche Sonderzeichen aus Dateinamen entfernen/maskieren 
16.
:: z.Bsp. Doppelpunkt gegen Unterstrich 
17.
Set "Hotel=%Hotel::=_%" 
18.
Goto :eof
Nur Teilweise getestet.

Gruß
LotPings
Bitte warten ..
Mitglied: willimoeglich
23.01.2010 um 11:38 Uhr
Hallo LotPings,
zunächst vielen Dank, für die schnelle Antwort/Lösung, sieht erst mal vielversprechend aus, muss nun sehen ob es sich an meine Situation anpassen lässt.
Hatte übersehen, dass nicht alle Hotelnamen mit dem String "Hotel" beginnen. Hotels beginnen schließlich nicht alle mit "Hotel...". Aber das macht nichts.
Falls ich es nicht hinkriege melde ich mich noch mal. Trotzdem ist die Lösung sehr elegant, wie ich finde. Die Befehlserweiterung und If define war mir nicht eingefallen.
Ich berichte dann später wie das Ergebnis aussieht.
Gruß Willi
Bitte warten ..
Mitglied: LotPings
23.01.2010 um 14:36 Uhr
Hallo Willi,
der String "Hotel" wird auch gar nicht gesucht.
Bei Zeilen welche mit "\\" beginnen wird der Abschnitt hinter dem letzten "\"Als Hotelname verwendet und in der Variablen "Hotel" gespeichert und solange als Dateiname verwendet bis er durch einen neuen Inhalt ersetzt wird.

Gruß
LotPings
Bitte warten ..
Mitglied: TsukiSan
23.01.2010 um 15:34 Uhr
also ganz eindeutig ist mir deine Frage nicht aber, wenn wir mal gaaanz langsam herangehen moechtest
du deine Ausgangsdatei "splitten". Weil Zeilenumbrueche sind ehr "vbCrLf".
Aber das alles in VBS zum Beispiel!
Also, wenn du nur "unterteilen" moechtest, dann google mal nach der SPLIT-Funktion in VBS oder so.
Ich meine, dass dich das ehr deinem Ziel naeher bringt.
Beispiel ind VBS fuer SPLIT and JOIN
01.
Dim b() 
02.
Dim Delim 
03.
 
04.
T = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z" 
05.
WScript.Echo "OriginalText: " & T 
06.
 
07.
Delim = "," 'ganzen String nach Kommas durchsuchen und bei jedem Komma splitten 
08.
a = Split(T, Delim) 
09.
 
10.
ReDim b(UBound(a))    'Alle "Einzelstücke" in ein Array (ohne Kommas!) einlesen  
11.
For i = 0 To UBound(a)  
12.
    b(i) = a(i)         
13.
Next 
14.
 
15.
Delim = "." 'Punkt zwischen die einzelnen Arrays einfügen und Ausgabe in GROSSBUCHSTABEN 
16.
    c = UCase(Join(b, Delim)) 
17.
WScript.Echo "Mit Punkt und gross: " & c 
18.
 
19.
Delim = ";" 'Semikolon zwischen die einzelnen Arrays einfügen und Ausgabe in kleinbuchstaben 
20.
    c = LCase(Join(b, Delim)) 
21.
Wscript.Echo "Mit Semikolon und klein: " & c 
22.
 
23.
msgbox ""
Gruss
Tsuki
Bitte warten ..
Mitglied: willimoeglich
23.01.2010 um 18:13 Uhr
Hallo LotPings,
ja, die Antwort war etwas voreilig von mir. Habe nur ganz flüchtig drüber gesehen, sollte man ebend nicht machen.

Funktioniert übrigens prima, habe das ganze als CALL in mein vorbereitendes Script eingebaut. Brauchte bloß noch in Zeile 10 die "11" zur "1" machen
(war wohl ein Tipfehler) und schon war alles perfekt.
Ich habe es nun doch NICHT in eine For-schleife gepackt, sondern lösche die nicht benötigten "Hotel"-Dateien am ende einfach.
Also noch mal vielen Dank !

gruß Willi
Bitte warten ..
Mitglied: willimoeglich
23.01.2010 um 18:17 Uhr
Hallo Tsuki,
vielen dank für die Antwort, die Lösung ist auch nicht schlecht, nur lag mein Schwerpunkt darauf das ganze mit den Batch-Bordmittel zu lösen und nicht mit VBS.

Und das hat LotPings bestens umgesetzt.

Trotzdem vielen Dank !!!
Schon toll so ein Erfahrungsaustausch, mit soviel hilfbereiten Programmierern.

Gruß Willi
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Zeilenumbruch-Zeilen-Vorschub entfernen? (Batch)

gelöst Frage von clragonBatch & Shell9 Kommentare

Hallo Leute, Ich bin's wieder, mit einem verzwickten Problem. Und ich hab folgendes Problem Ich habe eine riesige Logfile ...

Batch & Shell

Zeilenumbrüche in mehreren Dateien eines Ordners entfernen

gelöst Frage von TranministratorBatch & Shell2 Kommentare

Hallo liebe Admins, habe folgenden Code welcher ganz gut funktioniert und alle Zeilenumbrüche EINER bestimmten Datei entfernt. Jetzt ist ...

Batch & Shell

Kopieren von Dateien aus .txt Liste

Frage von mippselBatch & Shell2 Kommentare

Hallo zusammen, ich habe folgendes Problem: Von den über 2000 pdf/docx Dateien würde ich mir gerne gewisse Dateien in ...

Microsoft Office

Word: Zeilenumbruch bei Textmarke entfernen

Frage von BadgerMicrosoft Office

Hallo, folgende Ausgangslage: In einem Word Dokument sind Textmarken von verschiedenen Excel-Zeilen vorhanden: Das Problem ist, dass automatisch immer ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...