Dieser Beitrag ist schon älter. Bitte vergewissern Sie sich, dass die Rahmenbedingungen oder der enthaltene Lösungsvorschlag noch dem aktuellen Stand der Technik entspricht.

Umkonvertieren von ASKII-Dateien per vbs

Mitglied: goodbytes
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

Content-Key: 101849

Url: https://administrator.de/contentid/101849

Ausgedruckt am: 18.09.2021 um 12:09 Uhr

Mitglied: bastla
bastla 14.11.2008 um 13:21:55 Uhr
Goto Top
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
Mitglied: goodbytes
goodbytes 14.11.2008 um 14:48:33 Uhr
Goto Top
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 !!! :-) face-smile

Torsten
Mitglied: talkinghands
talkinghands 14.11.2008 um 19:12:59 Uhr
Goto Top
Hi Torsten,

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



Gruss

Matthias
Mitglied: Biber
Biber 14.11.2008 um 19:44:12 Uhr
Goto Top
@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
Mitglied: talkinghands
talkinghands 15.11.2008 um 04:00:35 Uhr
Goto Top
@Torsten
Ich habe das Ganze etwas abgespeckt und dem Verwendungszweck näher gebracht .



Gruss

Matthias
Mitglied: bastla
bastla 15.11.2008 um 16:31:34 Uhr
Goto Top
@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
Mitglied: talkinghands
talkinghands 15.11.2008 um 18:00:17 Uhr
Goto Top
@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
Mitglied: bastla
bastla 15.11.2008 um 18:20:13 Uhr
Goto Top
@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 ;-) face-wink) 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 ... ;-) face-wink)

Grüße
bastla
Mitglied: talkinghands
talkinghands 15.11.2008 um 19:47:57 Uhr
Goto Top
@bastla

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

ciao

Matthias
Mitglied: goodbytes
goodbytes 16.11.2008 um 13:31:22 Uhr
Goto Top
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. :-) face-smile

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

Vielen Dank erst einmal an euch !!! :-) face-smile

Torsten
Mitglied: goodbytes
goodbytes 21.11.2008 um 07:45:42 Uhr
Goto Top
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 !!! :-) face-smile

Torsten
Heiß diskutierte Beiträge
question
Netzwerkperformance - Mikrotik - Wo ist mein Fehler? gelöst BirdyBVor 1 TagFrageNetzwerke39 Kommentare

Moin zusammen, ich stehe gerade etwas auf dem Schlauch und weiß nicht so recht was mein Fehler ist. Gegeben ist mein heimisches Netzwerk: Also eigentlich ...

info
Hunderttausende MikroTik-Router sind seit 2018 angreifbarkilltecVor 1 TagInformationMikroTik RouterOS24 Kommentare

Mehrere MikroTik Router angreifbar. Hier der Link zu Heise: Hunderttausende MikroTik-Router sind seit 2018 angreifbar Gruß ...

question
Neue Firmennetzwerkstruktur und ein glühender KopfDerWachnerVor 1 TagFrageNetzwerke28 Kommentare

Moin zusammen, nun hab ich jahrelang hier nur mitgelesen, nun stehe ich allerdings selbst vor nem Problem was mir seit Tagen Kopfschmerzen bereitet. Also wir ...

general
Neue Herausforderungen auf unserer englischen SeiteFrankVor 1 TagAllgemeinOff Topic14 Kommentare

Auf unserer englischen Seite gibt es neue Herausforderungen: Find who restarted DB server und Wanted: Network Node Manager 6.4 wer kann helfen? Generell findet ihr ...

question
Windows Server 2012 R2 frisst SSDs (cbs.log)drahtbrueckeVor 1 TagFrageWindows Server14 Kommentare

Hallo, ich habe vor etwa 2 Monaten eine nur etwa 3 Monate alte SSD gegen eine neue getauscht (Samsung OEM Datacenter SSD SM883) in einem ...

question
RDS CALs und normale CALs - Wie richtig lizensierentim.riepVor 1 TagFrageWindows Server19 Kommentare

Hallo liebe User, ich habe eine Frage zur richtigen Lizensierung: Wenn eine natürliche Person zum Beispiel drei Accounts auf einem Windows Server 2016 hat, braucht ...

question
2 Netzwerkkarten für 2 verschieden Netze auf einem Windows-ServerglasscolaVor 17 StundenFrageWindows Server6 Kommentare

Hallo zusammen, im Rahmen meiner Bachelorthesis baue ich ein Labor auf, das folgend aussieht. Ich habe einen Server und auf ihm laufen 2 VMs (1 ...

info
Phishingwelle Volksbanklcer00Vor 1 TagInformationSicherheit10 Kommentare

Hallo zusammen, bei uns häufen sich gerade Phishing-Emails mit Ziel Volks-Raiffeisen-Bank. Geködert wird zum Teil auch mit der Erwähnung der SecureGo Smartphone-App. Grüße lcer ...