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

TXT Datei verändern und neu speichern per Batch

Frage Entwicklung Batch & Shell

Mitglied: reinhr

reinhr (Level 1) - Jetzt verbinden

02.06.2007, aktualisiert 15:50 Uhr, 4149 Aufrufe, 4 Kommentare

Hallo Leute,

ich habe ettliche Transaktionsdateien welche täglich in ein Verzeichnis kopiert werden.
00000001.TXT bis 0000000N.TXT

Dateiinhalt ist jeweils eine Zeile
0815|2612| 1 | 4 | 21 | 1 |1147628|REINHR|NULL||IA| 50 |G|||||| 0

Ich möchte das jeweils bis zum Delimiter "|" der Wert durch eine feste Feldbreite z.B. 10 Zeichen ersetzt wird.
Den Delimiter "|" brauche ich nicht mehr in der neuen Datei. So wie die nächste Zeile sollte das Ergebnis sein.
0815----------2612---------1-------------- 4-------------21------------1---------------1147628 usw....
123456789012345678901234567890134567890123456789012345678901234567890 <<< Diese Zeile dient nur zur Orientierung
Die Bindestriche sind nur zum verdeutlichen da. In der neuen Datei sollen sie nicht sein.

Kann mir hier jemand helfen

Danke schonmal und Gruß

Roland
Mitglied: bastla
02.06.2007 um 14:23 Uhr
Hallo reinhr und willkommen im Forum!

Unter Verwendung von etwas (temporärem) VB-Script könnte die Umwandlung für eine Datei so aussehen:
01.
@echo off & setlocal 
02.
set "PadTemp=%temp%\Pad.vbs" 
03.
set Breite=10 
04.
set "Quelle=D:\00000001.txt" 
05.
set "Ziel=D:\00000001-neu.txt" 
06.
echo Felder=Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0),1).ReadAll,"|")>"%PadTemp%" 
07.
echo For i=0 To UBound(Felder):Zeile=Zeile^&Left(Trim(Felder(i))^&Space(%Breite%),%Breite%):Next:WScript.Echo Zeile>>"%PadTemp%" 
08.
cscript //nologo "%PadTemp%" "%Quelle%">"%Ziel%" 
09.
echo 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 >>"%Ziel%" 
10.
del "%PadTemp%"
Da ich nicht weiß, in welche Datei das Ergebnis der Umwandlung geschrieben werden soll, habe ich zum Testen einfach "00000001-neu.txt" verwendet.

Sollte das Ergebnis für Dich OK sein, könntest Du ja noch näher beschreiben, wie die einzelnen Dateien zu behandeln sind (zB nach Umwandlung verschieben/löschen/umbenennen ...), bzw wohin die Ergebnisse sollen.

Die Ausgabe des "Lineals" (123456789012...) in die Zieldatei ist natürlich nur zum Testen gedacht.

Grüße
bastla
Bitte warten ..
Mitglied: reinhr
02.06.2007 um 15:10 Uhr
Hi Bastla,

echt Klasse!!!

Wie muss ich vorgehen, wenn ich meherer Dateien habe, welech auf einmal verarbeitet werden sollen?

00000001.txt > 00000001-neu.txt
00000002.txt > 00000002-neu.txt
00000003.txt > 00000003-neu.txt

set "Quelle=c:\LIVE\*.txt" ???
set "Ziel=c:\LIVE\" ???

Gruß

Roland
Bitte warten ..
Mitglied: bastla
02.06.2007 um 15:41 Uhr
Hallo reinhr!

Vielleicht nochmals konkret:
  • Müssen die Zieldateien im selben Ordner wie die Quelldateien liegen?
  • Falls ja, müssen die den selben Dateityp (".txt") aufweisen?
  • Falls ja, muss auch der alte Dateiname (zB "00000001") erhalten bleiben?
  • Falls ja, würde ich als neuen Namen die (im Vergleich zum Test oben) umgekehrte Schreibweise "Neu-00000001.txt" vorschlagen, da sonst auch bereits umgewandelte Dateien weiterhin dem Suchmuster "00000*.txt" entsprächen und versucht würde, diese neuerlich umzuwandeln.

Das könnte dann so aussehen:
01.
@echo off & setlocal 
02.
set "PadTemp=%temp%\Pad.vbs" 
03.
set Breite=10 
04.
set "Quelle=C:\Live\00000*.txt" 
05.
set "Ziel=C:\Live" 
06.
set "Neu=Neu-" 
07.
echo Felder=Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0),1).ReadAll,"|")>"%PadTemp%" 
08.
echo For i=0 To UBound(Felder):Zeile=Zeile^&Left(Trim(Felder(i))^&Space(%Breite%),%Breite%):Next:WScript.Echo Zeile>>"%PadTemp%" 
09.
for %%i in ("%Quelle%") do cscript //nologo "%PadTemp%" "%%i" >"%Ziel%\%Neu%%%~nxi%" 
10.
del "%PadTemp%"
Grüße
bastla
Bitte warten ..
Mitglied: reinhr
02.06.2007 um 15:50 Uhr
Hi Bastla,

einwandfrei - genau so hatte ich mir das vorgestellt - echt super!

Vielen, vielen Dank

Gruß

Roland
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Txt datei veränden - "steuerung" für VirtualBox
gelöst Frage von AngryDadBatch & Shell7 Kommentare

Hallo zusammen! Möchte eine .bat schreiben mit der ich meine VM´s steuern kann. Hab es schon geschafft die Liste ...

Batch & Shell
Bestimmte Teile einer TXT Datei per Batch in eine neue CSV speichern
Frage von WebtixBatch & Shell8 Kommentare

Hallo zusammen, ich bekomme von einem externen Dienstleister in unregelmäßigen Abständen TXT Files mit verschiedenen Werten. Diese sind immer ...

Batch & Shell
INI Datei via Batch auslesen, verändern und nur einen Teil übernehmen in neue Datei
gelöst Frage von NovalyBatch & Shell2 Kommentare

Hallo Brauch mal Hilfe , hab schon einiges hier gefunden aber nichts klappt wie ich es genau möchte. folgendes: ...

Windows 7
Cmd-Befehlsausgaben in txt-Datei verändern deren Inhaltformat
Frage von Radix50Windows 76 Kommentare

Hallo Kollegen! Hab eine Frage zu einem Problemchen Ausgangslage: W7 Prof. (64-bit) - arbeiten mit der Eingabeaufforderung cmd für ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 2 StundenInternet1 Kommentar

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 9 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 20 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 22 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless15 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...