• Sorry, dass ich den Thread nochmal "entstauben" muss, aber ich hab ne Frage zu Jam00's Programm.

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <Array.au3>
    $INI = @ScriptDir & "\Konfig.ini"
    #region ### START Koda GUI section ### Form=
    $FORM1 = GUICreate("Datei-Umbenner", 515, 476, 282, 277, 0x00040000)
    $LISTVIEW1 = GUICtrlCreateListView("Dateiname|Neuer Name|Pfad", 2, 2, 510, 326)
    GUICtrlSendMsg(-1, 4126, 0, 150)
    GUICtrlSendMsg(-1, 4126, 1, 150)
    GUICtrlSendMsg(-1, 4126, 2, 200)
    $INPUT1 = GUICtrlCreateInput(IniRead ($INI,"FileOpen","IN1",""), 2, 358, 509, 21)
    $BUTTON1 = GUICtrlCreateButton("Hinzufügen", 436, 330, 75, 25, 0)
    $BUTTON2 = GUICtrlCreateButton("Entfernen", 361, 330, 75, 25, 0)
    $LABEL1 = GUICtrlCreateLabel("Zu ersetzender Text:", 2, 340, 102, 17)
    $BUTTON3 = GUICtrlCreateButton("Ersetzen", 436, 422, 75, 25, 0)
    $INPUT2 = GUICtrlCreateInput(IniRead ($INI,"FileOpen","IN2",""), 3, 400, 509, 21)
    $LABEL2 = GUICtrlCreateLabel("Ersetzen mit:", 3, 382, 64, 17)
    $BUTTON4 = GUICtrlCreateButton("Liste Leeren", 286, 330, 75, 25, 0)
    $BUTTON5 = GUICtrlCreateButton("Beispiel anzeigen", 336, 422, 100, 25, 0)
    $Check = GUICtrlCreateRadio ("Dateien",20,425)
    GUICtrlSetState (-1,1)
    GUICtrlCreateRadio ("Ordner",80,425)
    GUISetState(@SW_SHOW)
    #endregion ### START Koda GUI section ### Form=
    GUIRegisterMsg(0x0024, "MY_WM_GETMINMAXINFO")
    While 1
    $NMSG = GUIGetMsg()
    Switch $NMSG
    Case -3
    Exit
    Case $BUTTON4
    _GUICTRLLISTVIEW_DELETEALLITEMS($LISTVIEW1)
    Case $BUTTON2
    _GUICTRLLISTVIEW_DELETEITEMSSELECTED($LISTVIEW1)
    Case $BUTTON1
    _HINZUFUEGEN()
    Case $BUTTON5
    _BEISPIEL()
    Case $BUTTON3
    _UMBENENNEN()
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _HINZUFUEGEN()
    If GUICtrlRead ($Check) = 1 Then
    $FILE = FileOpenDialog("Dateiauswahl", IniRead($INI, "FileOpen", "Pfad", ""), "Alle (*.*)", 4)
    If @error Then Return
    $SFILE = StringSplit($FILE, "|")
    If $SFILE[0] > 1 Then
    IniWrite($INI, "FileOpen", "Pfad", $SFILE[1])
    If $SFILE[0] > 0 Then
    For $1 = 2 To $SFILE[0]
    GUICtrlCreateListViewItem($SFILE[$1] & "||" & $SFILE[1], $LISTVIEW1)
    Next
    EndIf
    Else
    $SFILE = StringSplit($FILE, "\")
    $Pfad1 = StringLeft ($FILE,StringLen ($FILE) - StringLen ($SFILE[$SFILE[0]]))
    GUICtrlCreateListViewItem($SFILE[$SFILE[0]] & "||" & $Pfad1, $LISTVIEW1)
    IniWrite($INI, "FileOpen", "Pfad", $Pfad1)
    EndIf
    Else
    $Ordner = FileSelectFolder ("Ordnerauswahl",Default,0,IniRead ($INI,"FileOpen","Pfad",@DesktopDir))
    If @error Then Return
    $Filter = InputBox ("Dateiendung","Gib die Dateiendung an" & @CRLF & "Beispiel: *.mp3",IniRead ($INI,"FileOpen","Filter","*.mp3"))
    If @error Then Return
    IniWrite ($INI,"FileOpen","Filter",$Filter)
    $First = FileFindFirstFile ($Ordner & "\" & $Filter)
    While 1
    $FILE = FileFindNextFile($First)
    If @error Then ExitLoop
    $SFILE = StringSplit ($FILE,"\")
    $Pfad = StringLeft ($FILE,StringLen ($FILE) - StringLen ($SFILE[$SFILE[0]]) -1)
    GUICtrlCreateListViewItem($SFILE[$SFILE[0]] & "||" & $Pfad, $LISTVIEW1)
    Wend
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _BEISPIEL()
    $TEXT = GUICtrlRead($INPUT1)
    $ER = GUICtrlRead($INPUT2)
    IniWrite ($INI,"FileOpen","IN1",$TEXT)
    IniWrite ($INI,"FileOpen","IN2",$ER)
    For $1 = 0 To _GUICTRLLISTVIEW_GETITEMCOUNT($LISTVIEW1)
    _GUICTRLLISTVIEW_SETITEMTEXT($LISTVIEW1, $1, StringReplace(_GUICTRLLISTVIEW_GETITEMTEXT($LISTVIEW1, $1, 0), $TEXT, $ER), 1)
    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _UMBENENNEN()
    _BEISPIEL()
    For $1 = 0 To _GUICTRLLISTVIEW_GETITEMCOUNT($LISTVIEW1)
    FileMove(_GUICTRLLISTVIEW_GETITEMTEXT($LISTVIEW1, $1, 2) & "\" & _GUICTRLLISTVIEW_GETITEMTEXT($LISTVIEW1, $1, 0), _GUICTRLLISTVIEW_GETITEMTEXT($LISTVIEW1, $1, 2) & "\" & _GUICTRLLISTVIEW_GETITEMTEXT($LISTVIEW1, $1, 1))
    Next
    _GUICTRLLISTVIEW_DELETEALLITEMS($LISTVIEW1)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func MY_WM_GETMINMAXINFO($HWND, $MSG, $WPARAM, $LPARAM)
    If $HWND = $FORM1 Then
    Local $MINMAXINFO = DllStructCreate("int;int;int;int;int;int;int;int;int;int", $LPARAM)
    DllStructSetData($MINMAXINFO, 7, 515)
    DllStructSetData($MINMAXINFO, 8, 476)
    EndIf
    EndFunc

    [/autoit]

    Unzwar Zeile 50, wozu ist die da? Zeile 48 erfüllt doch den gleichen Zweck.