Umlaute in Dateinamen ändern

  • VBScript

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Thunderbolt.

    Umlaute in Dateinamen ändern

    Hallo,
    bin neu hier und hätte gern Hilfe bei folgenden VB-Script.
    Das funktioniert tatellos.
    Hätte es aber gern, wenn alle Unterordner mit einbezogen würden.
    Wie wäre das zu lösen?
    Wäre nett, wenn mir jemand helfen könnte.
    wolf56
    --------------------------------------------------------------------
    On Error Resume Next
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set objArgs = WScript.Arguments
    Set fd = fso.GetFolder(objArgs(0))
    Set fc = fd.Files
    For Each f1 in fc
    f1.Name = Replace(f1.Name, "Ä", "Ae")
    f1.Name = Replace(f1.Name, "Ö", "Oe")
    f1.Name = Replace(f1.Name, "Ü", "Ue")
    f1.Name = Replace(f1.Name, "ä", "ae")
    f1.Name = Replace(f1.Name, "ö", "oe")
    f1.Name = Replace(f1.Name, "ü", "ue")
    f1.Name = Replace(f1.Name, "ß", "ss")
    Next
    WScript.Echo "Änderungen abgeschlossen!"
    WScript.Quit
    --------------------------------------------------------------

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „wolf56“ ()

    Und das funktioniert?
    Ich hätte geschworen: Um einen Dateinamen zu ändern, musst du die Move-Methode ausführen.

    Wenn du SubFolders integrieren willst, musst du deine Funktion rekursiv aufrufen.
    Da gibt's Beispiele im Forum.
    Schau mal hier rein:
    Bestimmte Ordner bei Suche nach Dateien angeben
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()

    Umlaute in Dateinamen ändern

    Hallo petaod,
    danke für Deine Antwort.
    Rekursiv klappt nicht, oder ich bin zu blöd.

    Wie müsste der Code richtig aussehen?
    Bitte Code mal hier schreiben.

    Testen kann man auf Windows-Rechner ganz einfach einen Test-Ordner mit Unterordner,
    indem man den Text zwischen den Linien in ein leeres Notepad-Fenster kopiert
    und die Datei als "UmlauteEntf.vbs" im Verzeichnis
    C:\Users\Dein Benutzername\AppData\Roaming\Microsoft\Windows\SendTo
    speichert.

    Wenn Du nun in einem Ordner alle Dateinamen mit Umlauten ändern
    willst, klicke im Windows Explorer mit der rechten Maustaste auf
    den Ordner, wähle im Kontextmenü "Senden an..." UmlauteEntf.vbs,
    dann werden alle Dateinamen im Ordner mit Umlauten geändert.
    Wenn das Script alle Dateinamen bearbeitet hat, erscheint die
    Meldung am Ende des Scripts, nach Anklicken von "OK" wird es
    beendet.

    wolf56

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „wolf56“ ()

    Umlaute in Dateinamen ändern

    Danke für Nicht-Hilfe!
    Würde aber gern bei meinem Code bleiben.
    Das Beispiel lässt sich nicht mit meinem vereinbaren,
    zumal Temporäre Ordner und Dateien angelegt werden,
    die aus Sicherheitsgründen nicht zugelassen werden.
    Es sollte sich alles nur im Speicher abspielen.
    Habe keine Lust jeden Aspekt zu erklären, warum und weshalb ich es so mache.
    Ansonsten die Hilfe lassen.
    Also, wer hier VB-Script wirklich beherrscht, könnte mir vielleicht helfen?
    Danke
    wolf56

    Die Farbe "Rot" ist der Moderation vorbehalten! ~Thunderbolt

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thunderbolt“ ()

    Hey @wolf56,
    meistens ist's nun mal so, dass man erst Helfen kann, wenn man genau weiß was abgeht. Deswegen hat @petaod ja gefragt, ob du deinen Code-Versuch posten kannst.

    Ich behaupte mal von den Posts, die ich bisher bekommen habe von petaod, sagen zu können das petaod durchaus in der Lage ist dir zu helfen und auch das VBS Kenntnisse vorhanden sind-
    weiterhin gilt; Wenn dir einer in 'nem Thread antwortet ist er bereit dir zu helfen, immerhin nimmt derjenige sich die Zeit zu antworten und Zeit ist ein wertvolles Gut.

    Je mehr Input wir haben desto mehr können wir alle im Forum helfen.

    P.S.: Die rote Schriftart ist den Moderatoren vorbehalten :thumbup:

    Grüße,
    Drahuverar
    Option Strict On!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Drahuverar“ ()

    Warum so Aggresiv?
    Packe deine Umbenennung in eine extra Sub.
    in der Sub benötigst Du 2 For Each Schleifen. 1. mal für die Files und 1. für die Unterordner.
    in der 2. For Each schleife rufst Du die Sub einfach nochmal auf, mit den Unterordnern als Argument.

    Fertigen Code hätte ich auch, aber den magst Du ja nicht weil er anders sein wird als Deiner, deswegen lass ich ihn weg.
    "Hier könnte Ihre Werbung stehen..."
    Ich bekomme bestimmt wieder einen auf den Deckel, kann mir folgendes aber nicht verkneifen.:

    Warum gebt ihr, solch unverschämten Typen, überhaupt noch die kleinste Hilfestellung ?
    Ich beobachte hier immer wieder, daß faulen code Schnorrern, dreisten Lügnern und eben auch solch unverschämten Typen wie der TE hier, trotzdem weiter geholfen wird !
    Aber warum ? Helfersyndrom ?
    Wenn derartige Leute, immer wieder mit ihrem asozialem verhalten durchkommen, werden sie es auch nicht ändern !