gelöst Umkonvertieren von ASKII-Dateien per vbs

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

14.11.2008, aktualisiert 21.11.2008, 4271 Aufrufe, 11 Kommentare

Hallo,
ich muss Teile aus einer ASKII-Datei, welche Semikolon als Trennzeichen hat, bestimmte Felder in eine neue Datei in ein anderes Format konvertieren, da sich die Releasestände von einem Programm stark unterscheiden.

Die Zieldatei hat keine Trennzeichen, eine neue Spalte beginnt jeweils ab einer genau definierten Stelle. Das heisst, man müsste den Inhalt immer mit Leerzeichen auffüllen, damit ich exakt auf die definierte Spaltenbreite komme.

Hier ein Beispiel aus der Quelldatei (ist eine Zeile, also keine Zeilenumbrüche):

Hier das gleiche Beispiel aus der Zieldatei:

Man sieht auch, dass in der Zieldatei auch nicht alle Informationen aus der Quelldatei benötigt werden.
(Die 0110 steht immer davor.)

Torsten
Mitglied: bastla
14.11.2008 um 13:21 Uhr
Hallo TorstenB!

Wäre es wohl von Dir zuviel verlangt, die Zusammensetzung der neuen Datei genau zu beschreiben (Stellenanzahl bzw Positionen, Herkunftsspalte - stammt etwa das erste "M" aus der Spalte 23 oder 31, woher kommt das "E" vor 44010.. sowie 44010 selbst? - etc)?

Grüße
bastla
Bitte warten ..
Mitglied: goodbytes
14.11.2008 um 14:48 Uhr
Hallo bastla,

hast natürlich recht, dass ich da natürlich noch eine genauere Beschreibung nachliefern sollte ...

Ich werd mich mal am Wochenende ransetzen, heute schaffe ich`s leider nicht mehr.

Vielen Dank erstmal, dass du helfen willst ...

Bis dann erstmal ein schönes Wochenende !!!

Torsten
Bitte warten ..
Mitglied: talkinghands
14.11.2008 um 19:12 Uhr
Hi Torsten,

das sollte Dir ungefähr eine Ahnung geben wie man mit so etwas via VB Script umgeht.



Gruss

Matthias
Bitte warten ..
Mitglied: Biber
14.11.2008 um 19:44 Uhr
@talkinghands
<nur halb OT>
Ich bin ja nur Gast in diesem Teil des Forums und WEIT davon entfernt, VBScript für eine strukturierte Sprche zu halten.
Noch weniger halte ich mich für übertrieben ordnungsliebend (dafür könnte ich Zeugen benennen!).

Aber diese Art von Freistil bei der Variablen-Benamsung

  • mal "WindowTitle" oder "ExportDirectory"
  • mal "cString" und "intpos"
  • mal "meineVar" und "LOGTXT"
  • mal "Dsatz_Neu" und "export_Datei"

.... das bitte nicht unbedingt einem Neu-Einsteiger so vormachen.
</nur halb OT>

Grüße
Biber
Bitte warten ..
Mitglied: talkinghands
15.11.2008 um 04:00 Uhr
@Torsten
Ich habe das Ganze etwas abgespeckt und dem Verwendungszweck näher gebracht .


Gruss

Matthias
Bitte warten ..
Mitglied: bastla
15.11.2008 um 16:31 Uhr
@talkinghands

Da hast Du ja ein ganzes Programm daraus gemacht ...

... als Script (und zur Umwandlung nur einer Datei) sollte es auch etwas knapper gehen (wobei ohnehin fast die Hälfte auf das Dateihandling entfällt, was sich bei Start über einen Batch noch deutlich reduzieren ließe):
Aufgerufen werden kann das Script per Commandline (Beispiel dafür wird angezeigt, wenn das Script ohne Parameter gestartet wird) oder einfach durch Ziehen der Quelldatei auf die Scriptdatei.

Grüße
bastla
Bitte warten ..
Mitglied: talkinghands
15.11.2008 um 18:00 Uhr
@bastla

das kleine Script hat ja nur 79 Zeilen und ist ein wenig strukturiert.
Ich denke, das macht es für den Leser der Zeilen verständlicher.

Das Script ist so konzipiert, dass mehrere Dateien abgearbeitet werden können.


Anhand deiner Herangehensweise sieht er doch auf welch verschiedene Arten man an eine solche Aufgabe lösen kann. Und ich selbst kann dabei auch etwas durch deinen Lösungsvorschlag lernen.

Gruss

Matthias
Bitte warten ..
Mitglied: bastla
15.11.2008 um 18:20 Uhr
@talkinghands
Natürlich kein Einwand gegen Strukturierung - ich neige einfach nur dazu, für ein "Script" wenig Aufwand zu treiben (auch, da wegen des geringen Umfanges der Überblick nicht so schnell verloren geht), und daher zB auf unnötige Variablen (und deren Deklaration ) zu verzichten ("LineNew" ist die Ausnahme und soll tatsächlich der Übersichtlichkeit dienen).

Findest Du meinen Ansatz oben schwer verständlich?
(Mich selbst stören daran die Kommentarzeilen ... )

Grüße
bastla
Bitte warten ..
Mitglied: talkinghands
15.11.2008 um 19:47 Uhr
@bastla

Nein, der Code ist gut verständlich für mich.
Wirklich effizient und minimal.
Da kann man sich was dabei abgucken

ciao

Matthias
Bitte warten ..
Mitglied: goodbytes
16.11.2008 um 13:31 Uhr
Hallo ihr Beiden,
sorry, dass ich mich jetzt erst melde. Hatte das Wochenende ziemlich viel um die Ohren (und meine zwei kleinen Stöpsel haben mich zusätzlich noch ziemlich viel Nerven gekostet).

Ich würde mal sagen, dass ich es mal mit euren (eigentlich schon fertigen Skripten) in den nächsten Tagen mal probiere. Erst mal in Ruhe im Zug zur Arbeit in ausgedruckter Form durcharbeiten. Allein die Lösung ist ja nicht Alles; ich möchte es ja auch verstehen und was draus lernen.

Dann meld ich mich auf jeden Fall, wenn`s läuft, oder ich noch Fragen habe.

Vielen Dank erst einmal an euch !!!

Torsten
Bitte warten ..
Mitglied: goodbytes
21.11.2008 um 07:45 Uhr
Hallo,
leider habe ich festgestellt, dass ich um ein Update auf die neue Version doch nicht herum komme.

Das von bastla am Anfang erwähnte (und sich auch ständig ändernde) "E44010..." ist für die alte Version unbedingt erforderlich, wird aber in der neuen Version nicht mitgeliefert.

Leider ist es nicht möglich die tatsächliche Bedeutung dieses Wertes herauszubekommen. Selbst der Hersteller der Software hüllt sich darüber in Schweigen. Klar - er will ja auch das neue Produkt verkaufen...

Auf jeden Fall habe ich viel von euch über das Umkonvertieren von ASKII-Dateien gelernt; so was benötige ich immer wieder.

Vielen vielen Dank an euch und ein schönes Wochenende !!!

Torsten
Bitte warten ..
Heiß diskutierte Inhalte
Router & Routing
Lancom Router Site to Site Problem mit Außenstellen
gelöst mossoxFrageRouter & Routing26 Kommentare

Guten Tag zusammen, in der Hauptgeschäftsstelle nutzen wir einen Lancom 1781VA Router und haben i.d.R. zwei gleichzeitige IPSec Site ...

Netzwerke
Sporadische Ausfälle im gesamten Heimnetz
gelöst bilbo-dvdFrageNetzwerke23 Kommentare

Guten Morgen, ich habe einen Kabelanschluss bei Vodafone und mein Tarif wurde im März auf CableMax 1000 umgestellt. Ich ...

Sicherheit
Sicherheit oder bessere Benutzbarkeit?
gelöst StefanKittelFrageSicherheit19 Kommentare

Hallo, ich habe eine Webanwendung programmiert und sehe mich nun mit einer Frage zur Benutzbarkeit konfrontiert. Bei der Anmeldung ...

Router & Routing
RDP nur im internen Netz möglich nicht aber per vpn?
einfach112FrageRouter & Routing18 Kommentare

Hallo zusammen. Beim Kunden habe ich einen Server mit VMWARE laufen. Darauf ein Windows Server 2016 Essentials als VM ...

Internet Domänen
Azure AD deactivate Identity Protection
Jannik2018FrageInternet Domänen15 Kommentare

kann mir einer sagen wie ich beim meiner MS Azure AD Domäne die Identity Protection deactiviere siehe Screenshot sollte ...

Windows Server
Auslagerungsdatei wird nicht kleiner
GwaihirFrageWindows Server14 Kommentare

Hallo zusammen, gestern hat jemand auf einem unserer Terminalserver (Windows Server 2012 R2) eine Anwendung gestartet, die den RAM ...

Ähnliche Inhalte
VB for Applications
VBS Datei Auswahl Dialog
gelöst 133202FrageVB for Applications12 Kommentare

Hallo Ihr, im Thread: konnte ich schon finden, was ich gesucht habe: Jetzt möchte ich allerdings, dass am Anfang ...

VB for Applications
VBS für Timestamp-Datei
gelöst PascalSchFrageVB for Applications3 Kommentare

Hallo Zusammen, Bin ziemlich neu in der Welt des VBS und habe eine Frage hierzu, die ihr mir hoffentlich ...

XML
Vbs - simple XML Datei auslesen
gelöst DeeJayBeeFrageXML4 Kommentare

Hallo zusammen, ich glaub, ich hab grad ne kleine Blockade oder denke viel zu kompliziert. Gegeben ist eine xml-Datei ...

VB for Applications

Bestimmte Spalten aus CSV-Datei auslesen (VBS)

gelöst GurkenhobelFrageVB for Applications9 Kommentare

Hallo Community, wieder benötige ich einmal kompetente Hilfe. Mein Script zum Auslesen bestimmte Spalten aus CSV-Dateien (über 200 " ...

VB for Applications

If exist - if not exist in .vbs - Datei

gelöst Komoran12FrageVB for Applications24 Kommentare

Moin, moin, vielleicht hat jemand ja einen Tipp für mich. Mit nachfolgender .vbs lasse ich mir einen Messagebox ausgeben: ...

Entwicklung

VBS Für Änderung Mehere Texte in einer Datei

gelöst Mac2345FrageEntwicklung13 Kommentare

Hallo ich benötige etwas Hilfe beim schreibe von vbs. Ich habe eine Datei die ich in einem bestimmten Bereich ...

Neue Fragen
Administrator Magazin
11 | 2020 Virtualisierung ist aus der IT nicht mehr wegzudenken. In der November-Ausgabe des IT-Administrator Magazins dreht sich der Schwerpunkt um das Thema "Server- und Storage-Virtualisierung". Darin erfahren Sie, wie sich die Virtualisierungstechnologie entwickelt hat, welche Varianten es im Bereich Server und Speicher gibt und wie ...
Neue Beiträge
Neue Jobangebote
Server- und Storage-VirtualisierungServer- und Storage-VirtualisierungBerechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid Cloud