Löschen aller "Dummy_rot-weiss2" per vbs Script aus der anl3 bzw. xml Datei

!!! Please ensure, that your contribution or question is placed into the relevant section !!!
Questions about rolling stock, for example, do not belong in "Questions about the Forum". Following is perhaps the right area where your question will be better looked after:
General questions to EEP , Splines, rolling stock, Structures in EEP, landscape elements, Signalling system and controlling, designers, Europe-wide EEP meetings , Gossip
Your cooperation to keep the forum clear is appreciated.
  • Hallo zusammen,

    Passt vielleicht nicht ganz in diesen Thread, aber ich versuche es mal.

    Ich versuche gerade Pitschi's EEP6-Anlage Bad Driburg-Ottbergen zum Laufen zu bringen.

    Da ich viele Landschaftselement nicht habe, muss ich tauschen.

    Für mein altes Programm Diesel's Modelltauscher ist die Anlage mit 16MB zu groß. (Runtime Error)

    Damit konnte ich auch alle Dummys auf eienen Schlag löschen.

    Den ModellTauscher aus dem EEP-Shop gibt es nicht mehr.


    Bleibt mir der Ernst Fasswalds Tool Modelle in Anlagen ersetzen V1.4a oder iceT's eep-Tweaker.

    Diese beiden Tools tauschen halt alle fehlenden Objekte in Dummys um.


    Jetzt habe ich ca. 12.000 Dummys, die ich gern löschen möchte.


    Die Idee, löschen aller "Dummy_rot-weiss2" per vbs Script aus der anl3 bzw. xml Datei.

    Das ganze XML steht aber in einer Zeile, zumindest sieht es im Ultra Edit oder Notepad++ so aus.


    Die EEP-Dokumentation hat mir dabei nicht geholfen.

    Kennt jemand eine Möglichkeit, per vbscript diese Löschung vorzunehmen.


    Das Script hier ( hab ich aus dem Internet leicht abgewandelt) hat dann die erste Zeile komplett gelöscht,

    Übrig blieb die Anlagen beschreibung


    'RemoveLines.vbs

    Criteria = Split(Trim("Dummy_rot-weiss2"))

    Bak = ".bak"


    Set fso = CreateObject("Scripting.FileSystemObject")

    If WScript.Arguments.Count < 1 Then

    WScript.Echo "Keine Quelldatei angegeben!"

    WScript.Quit 1

    End If


    FileOut = WScript.Arguments(0)

    If Not fso.FileExists(FileOut) Then

    WScript.Echo "Angegebene Quelldatei " & FileOut & " nicht gefunden!"

    WScript.Quit 2

    End If


    FileIn = FileOut & Bak

    If fso.FileExists(FileIn) Then fso.DeleteFile FileIn

    fso.MoveFile FileOut, FileIn


    XMLin = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(FileIn).ReadAll, vbCrLF)


    U = UBound(XMLin)

    i = 1

    Do Until i > U

    Remove = False

    For Each Crit In Criteria

    If InStr(XMLin(i), Crit) Then Remove = True: Exit For

    Next

    If Not Remove Then

    XMLout = XMLout & vbCrLF & XMLIn(i - 1)

    Else

    i = i + 2

    End If

    i = i + 1

    Loop

    If i = U + 1 Then XMLout = XMLout & vbCrLF & XMLIn(i - 1)


    fso.OpenTextFile(FileOut, 2, True).Write Mid(XMLout, 3)

    1. PC: Intel i5-2400 / ASUSTEK P8H67-V, 8GB DDR3 Kingston / Geforce GTX970 / Win10 Home x64

    2. PC: AMD Athlon II X2 220 2,8Ghz / Asrock 68S / 4GB / Geforce GT 440 /WIN10 Pro x64

    EEP: 2.43 / 3.0 / 5.0 / 6.1classic / 7.0 / 8.0 Exp. / EEPX Exp. / EEP12 Exp. / EEP13 Exp. / EEP15 Exp.

  • Passt vielleicht nicht ganz in diesen Thread

    Hallo :)


    warum postest Du dann dort? Ich habe Deinen Beitrag deshalb abgetrennt und in neues Thema verschoben. Bitte beim nächsten Mal selbst daran denken. Und noch eine Bitte: bitte Skripte u.ä. als Code einfügen. Damit wird das dann besser lesbar. Vielen Dank für Deine Mithilfe, das Forum übersichtlicher zu halten.


    Gruß Ingo

    Win 10x64 Professional, Gigabyte B360M AORUS, Intel Core i7-8700K, 32GB RAM, NVIDIA GeForce GTX 1050 Ti 4GB, Philips 273V7QDAB Full HD

    Windows Firewall und Defender
    EEP 15.1 Expert Patch 2, Plugins: 1

    EEP 16.3 Expert Patch 2, Plugins: 1,2,3


    alt:
    Win 7x64 Professional SP1, Intel Core i5-3570, 16GB RAM, nVIDIA GeForce GT630, 2GB, 1920x1200 auf 26" TFT

    Windows Firewall und Defender (MSE)

    EEP6; EEP8-14; EEP 15.1 Expert Patch 2, Plugins: 1

  • Genau.

    Es gibt keinen Grund, dafür das Rad neu zu erfinden.


    Du weisst, was Du suchen willst:

    Dummy_rot-weiss2

    Du weisst, wodurch Du es ersetzen willst:

    Voila:

    Nimm Notepad++

    Dass Du vorher eine Kopie der Anlagendatei erstellst erwähne ich nicht. Das weisst Du ja selbst. :ae_1:


    :aq_1:Gruss Jürg

    Samsung Series 9 Laptop / Lenovo Z50 - 70 Laptop
    Intel i5 1.7 Ghz / Intel i7 2.0 Ghz
    4 Gb Speicher / 8 Gb Speicher
    Intel HD Graphics 4000 / NVIDIA Geforce 840M
    Windows 10 64 /Windows 10 64
    EEP15, EEP16 / EEP14, EEP15
    AnlagenBau / AnlagenLaufLass

    _____________________________________________________________________

    Warum gibts in der Wüste ka Brot? Kamel! (Peoplemar Belly)

  • Suchen und Ersetzen ist hier aber nicht angebracht. Er will die Objekte löschen. So ersetzt er nur den Namen durch nichts. Das Objekt bleibt trotzdem in der Anlage, nur unter anderem Namen, der natürlich auch nicht gefunden wird.


    Manfred

    Hier geht es zu --> Kjus EEP.

    Meine freien Modelle, Tools und Tutorials gibt es hier.

    Der Autorenerlös meiner Modelle geht zu 100% an ECPAT Deutschland e.V., Arbeitsgemeinschaft zum Schutz der Kinder vor sexueller Ausbeutung.

    Mitglied des Kontinuums, Reisender durch Zeit und Raum, zur Zeit Gast auf dem dritten Planeten eines unbedeutenden Sonnensystems.

  • Ja, das "Löschen" ist mein Vorhaben.

    Hab mir gerade mal die Liste der Fehlmodelle angeschaut.

    Es sind alleine 15280 Flora-Elemente von UK2, Lerche Hasel, etc. verbaut.

    Da ich die Sets nicht habe, werden die alle durch die Dummys ersetzt.

    Für rund 10€ könntze ich die auch kaufen, möchte ich aber nicht, da schon mehr als genug Vegation verbaut ist.

    Wenn ich die Vegetaton entferne, Klimawandel im EEP :ak_1:, dann müsste die Datei sich besser händeln lassen und passt vieleicht sogar noch in Diesel's alten Modelltauscher.

    Dann könnte ich wieder die Zuggarnituren prima austauschen

    1. PC: Intel i5-2400 / ASUSTEK P8H67-V, 8GB DDR3 Kingston / Geforce GTX970 / Win10 Home x64

    2. PC: AMD Athlon II X2 220 2,8Ghz / Asrock 68S / 4GB / Geforce GT 440 /WIN10 Pro x64

    EEP: 2.43 / 3.0 / 5.0 / 6.1classic / 7.0 / 8.0 Exp. / EEPX Exp. / EEP12 Exp. / EEP13 Exp. / EEP15 Exp.

  • Die Erkennung, welche Modelle nicht im Bestand sind, findet ja erst beim Laden der Anlage statt und deswegen sind diese Angaben nicht in der Datei (.anl3) gespeichert. Es muss ein Vergleich der Liste "nicht gefundener Modelle" mit der anl3-Datei mittels XML-Editor erfolgen. Sehr zu empfehlen ist der Easy XML Editor, dort kann mann jedes Modell bei zusammengeklapptem XML-Baum komplett löschen. Mit einer Batch-Routine geht das Ruck Zuck und alle "nicht gefundenen Modelle" sind eliminiert.


    Gruß Little

    EEP 16.3 alle Patches und Plugins

    Mainboard: ASRock Z490 Phantom Gaming 4Prozessor: CPU Intel® core i9-10900KF 3.7GHz

    Architektur: Comet lake - Kerne: 10 - Threads: 20 - Basistakt: 3.70GHz - Turbotakt: 5.3GHz

    RAM: 32 GB DDR4 PC3000 (4x 8GB)

    SSD1: 512 GB Samsung 970 PRO MZ-V7P512BW - PCI Express 3.0 x4 (NVMe)

    SSD2: Samsung MZ-76Q1T0BW SSD 860 QVO 1TByte
    HDD1: 3 TB Sata600 Toshiba 7200rpm

    HDD2: Western Digital WD40EFAX Red 4 TByte

    Grafik: Nvidia Geforce® RTX2080Ti 11 GB DDR6 (3x DP, HDMI)

  • Es handelt sich hier um eine EEP6.0-Anlage.

    Beim Laden kommt beim ersten Auffinden eines fehlenden Modells ein Dialog, diese zu tauschen. bei ca. 18.000 Fehlmodellen ein langwieriger Prozess.

    Daher der Austausch mit dem EF1-Tool, Modelle in EEP-Anlagen ersetzen V1.4, welches die Fehlmeodelle mit Dummys ersetzt.


    Erst ab EEP 7.0 wurde die Liste der Fehlmodelle beim Laden erzeugt.

    1. PC: Intel i5-2400 / ASUSTEK P8H67-V, 8GB DDR3 Kingston / Geforce GTX970 / Win10 Home x64

    2. PC: AMD Athlon II X2 220 2,8Ghz / Asrock 68S / 4GB / Geforce GT 440 /WIN10 Pro x64

    EEP: 2.43 / 3.0 / 5.0 / 6.1classic / 7.0 / 8.0 Exp. / EEPX Exp. / EEP12 Exp. / EEP13 Exp. / EEP15 Exp.

  • @Izi_bahn,


    Du hast Recht, das hatte ich nicht beachtet, aber vielleicht hilft es ja jemand mit einer Version ab 7.0...


    Gruß Little

    EEP 16.3 alle Patches und Plugins

    Mainboard: ASRock Z490 Phantom Gaming 4Prozessor: CPU Intel® core i9-10900KF 3.7GHz

    Architektur: Comet lake - Kerne: 10 - Threads: 20 - Basistakt: 3.70GHz - Turbotakt: 5.3GHz

    RAM: 32 GB DDR4 PC3000 (4x 8GB)

    SSD1: 512 GB Samsung 970 PRO MZ-V7P512BW - PCI Express 3.0 x4 (NVMe)

    SSD2: Samsung MZ-76Q1T0BW SSD 860 QVO 1TByte
    HDD1: 3 TB Sata600 Toshiba 7200rpm

    HDD2: Western Digital WD40EFAX Red 4 TByte

    Grafik: Nvidia Geforce® RTX2080Ti 11 GB DDR6 (3x DP, HDMI)

  • Kju (MA1) :

    Quote

    Suchen und Ersetzen ist hier aber nicht angebracht. Er will die Objekte löschen. So ersetzt er nur den Namen durch nichts. Das Objekt bleibt trotzdem in der Anlage,

    Das verstehe ich nicht. Nach dem Neuladen der Anlage ist das Objekt doch nicht mehr da und wird so auch nicht als fehlend markiert?

    Wieso klappt das bei mir immer und soll hier nicht funktionieren?

    Uli

    Hardware: XMG Notebook P507; 16 GB RAM; NVIDIA Geforce GTX 1060

    Software: eep13, eep16

    NOS DEV 13, NOS DEV 16


    Eigene Modelle

  • durch suchen von "name" und ersetzen durch "" wird nur das Feld name geleert, nicht die restlichen Daten zu einem Objekt.

    Eep zeigt dann das objekt nicht mehr als fehlend an, aber der ganze schmodder steht noch in der xml- Datei.

  • Moin

    Müsste der Schmodder nicht beim nächsten speichern beseitigt werden?

    Gruß Joachim

    Win7 SP1 64bit, Intel Core i3-530 @2.93GHz, 12GB RAM, nVIDIA GeForce GT320

    EEP13.2 Expert Patch 2 Plugins 1+2 / Anlagenverbinder 6.0.2 zu „EEP 13.1- Expert
    HoehenScanner

  • Werde bei nächster Gelegenheit mal den Test mit dem Löschen des Namens machen.

    Hatte auch gedacht, das man am Block mit z.B. Notepad++ mehrere Zeilen(jede Zeile ist ein Objekt) markiert und dann entfernt. Funktioniert nicht, man kann immer nur eine einzige Zeile entfernen. Offenbar wird schon restriktiv geschaut, das die XML-Struktur nicht kaput geht.

    Kann mir vorstellen, das durch das Löschen, bzw. Tauschen gegen "" ggf. die anl3 -Datei danach kaputt ist.

    Muss mich schlau machen, wie XML funktioniert.

    1. PC: Intel i5-2400 / ASUSTEK P8H67-V, 8GB DDR3 Kingston / Geforce GTX970 / Win10 Home x64

    2. PC: AMD Athlon II X2 220 2,8Ghz / Asrock 68S / 4GB / Geforce GT 440 /WIN10 Pro x64

    EEP: 2.43 / 3.0 / 5.0 / 6.1classic / 7.0 / 8.0 Exp. / EEPX Exp. / EEP12 Exp. / EEP13 Exp. / EEP15 Exp.

  • Habe eine viel kleinere Anlagendatei mal mit Notepad++ und dem XML-Plugin bearbeitet.

    Wenn man nur die "Dummy**.gsb" gegen "" tauscht, sucht EEP6 dann nach einem leeren Element beim Start.


    Was aber funktioniert, man kann tatsächlich ganze Strukturen (es waren 17 Dummys untereinander) mit dem Notepad++ markieren und dann löschen.

    Anschließend konnte ich die kleine Anlage ohne Probleme und ohne Dummy starten.


    Bei der doch mit 16MB großen anl3.Datei versagt Notepad++ den Dienst. (Keine Rückmeldung)

    Da muss ich mich nach einem anderen XML-Editor umschauen.

    1. PC: Intel i5-2400 / ASUSTEK P8H67-V, 8GB DDR3 Kingston / Geforce GTX970 / Win10 Home x64

    2. PC: AMD Athlon II X2 220 2,8Ghz / Asrock 68S / 4GB / Geforce GT 440 /WIN10 Pro x64

    EEP: 2.43 / 3.0 / 5.0 / 6.1classic / 7.0 / 8.0 Exp. / EEPX Exp. / EEP12 Exp. / EEP13 Exp. / EEP15 Exp.

  • Hallo zusammen,

    ich habe eine Lösung gefunden.

    Mit dem XML-Tool "Easy XML Editor pro 1.0" (60Tage Testzeit) konnte ich alle Dummys problemlos finden, am Block markieren, und dann löschen.

    Die Anlage lässt sich einwandfrei laden, keine Nachfragen von Fehlmodellen und es sind nun keine Immo- sowie Landschafts-Dummys mehr zu sehen.:aa_1:


    Die Rollmaterial-Dummys möchte ich mit den diversen Zugbildungstools editieren bzw. ganz austauschen.

    Die fehlenden Immos (z.B. das BW) werde ich mit verbauten Modellen der Mythos-Ottbergen Anlage ergänzen.


    Somit habe ich, zumindest für mich, eine Lösung für das Löschen von massenhaft Dummys gefunden.


    Vielleicht gibt es doch nochmal ein Tool wie den Modelltauscher, mit dem man gezielt einzelne Objekte tauschen kann.

    1. PC: Intel i5-2400 / ASUSTEK P8H67-V, 8GB DDR3 Kingston / Geforce GTX970 / Win10 Home x64

    2. PC: AMD Athlon II X2 220 2,8Ghz / Asrock 68S / 4GB / Geforce GT 440 /WIN10 Pro x64

    EEP: 2.43 / 3.0 / 5.0 / 6.1classic / 7.0 / 8.0 Exp. / EEPX Exp. / EEP12 Exp. / EEP13 Exp. / EEP15 Exp.