Ordnername am Ende ein Unterstich "_" hinzufügen?

  • Hallo Leute,

    wie kann ich unter C:\Programme\ alle Ordner die mit "Logotec" anfangen am Ende ein Unterstich "_" in der Name hinzufügen?

    Beispiell vorher:
    ~~~~~~~~~~~~~
    C:\Programme\Logotec_3.28
    C:\Programme\Logotec_V8
    C:\Programme\Logotec_23

    Beispiel nachher:
    ~~~~~~~~~~~~~~
    C:\Programme\Logotec_3.28_
    C:\Programme\Logotec_V8_
    C:\Programme\Logotec_23_

    Besten Dank im Voraus !

    Viele Grüße,
    Dino

    Einmal editiert, zuletzt von Dino (23. November 2008 um 19:02)

    • Offizieller Beitrag

    _FileListToArray erlaubt aber auch entsprechende Filter:

    [autoit]


    #include <File.au3>
    #include <Array.au3>
    $Path = 'C:\Programme\'
    $FileList = _FileListToArray($Path, 'Logotec*', 2)
    If Not IsArray($FileList) Then
    MsgBox(0, '', 'Keine Verzeichnisse gefunden!')
    Exit
    EndIf
    For $i = 1 To $FileList[0]
    $ret = DirMove($Path & $FileList[$i], $Path & $FileList[$i] & '_')
    If $ret = 0 Then MsgBox(0, '', 'Konnte das Verzeichnis: ' & $Path & $FileList[$i] & ' nicht umbenennen!')
    Next

    [/autoit]
  • Hallo blubbstar, hallo Oscar,

    funktioniert prima... Wenn ich jetzt die neue Version von Logotec installiert habe, möchte ich die Aktion umgekehrt machen sprich:
    Bei alle Ordner unter C:\Programme\ die mit "Logotec" anfangen und am Ende ein Unterstich "_" haben, soll der Unterstich "_" entfernt werden.

    .... unterstriche hinzufügen ....
    .... neue Version installieren ....
    .... unterstriche entfernen ....

    Wie mache ich das ?

    Grüße,
    Dino

  • [autoit]

    #include <File.au3>
    #include <Array.au3>
    $Path = 'C:\Programme\'
    $FileList = _FileListToArray($Path, 'Logotec*', 2)
    If Not IsArray($FileList) Then Exit MsgBox(0, '', 'Keine Verzeichnisse gefunden!')
    For $i = 1 To $FileList[0]
    $ret = DirMove($Path & $FileList[$i], $Path & StringTrimRight($FileList[$i], 1))
    If $ret = 0 Then MsgBox(0, '', 'Konnte das Verzeichnis: ' & $Path & $FileList[$i] & ' nicht umbenennen!')
    Next

    [/autoit]

    sollte gehn.