Bräuchte bitte mal einen Tip wie man das angehen könnte.
Ich habe mir ein Script gebastelt das mir mit hilfe einer Listbox alle markierten Dateien umbennen soll.
Dabei möchte ich für jede ausgewählte Datei ein Eingabefeld bekommen für den neuen Dateinamen.
ZitatAlles anzeigenFunc _RenameFile()
Local $d64dateiauswahl = _GUICtrlListBox_GetSelItems($list_dir)
If $d64dateiauswahl[0] = 0 Then Return MsgBox(16, "Hinweis", "Es wurden keine Dateien zum umbenennen ausgewählt.")
GUICtrlSetData($input_renamefilename, StringLower(StringMid(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl), 7, StringInStr(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl), '"', 0, -1) - 7)))
GUISetState(@SW_DISABLE, $gui_main)
GUISetState(@SW_SHOW, $gui_renamefile)
EndFunc
Func _RenameFileOK()
Local $filename = GUICtrlRead($input_renamefilename)
Local $d64dateiauswahl = _GUICtrlListBox_GetSelItems($list_dir)
_RenameFileClose()
GUICtrlSetData($edit_vorgang, "Ausgewählte Datei(n) umbenennen ...")
For $i = 1 To $d64dateiauswahl[0]
RunWait(@ComSpec & ' /c cbmctrl pcommand ' & GUICtrlRead($combo_laufwerkid) & ' "r:' & $filename & "=" & StringLower(StringMid(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl[$i]), 7, StringInStr(_GUICtrlListBox_GetText($list_dir, $d64dateiauswahl[$i]), '"', 0, -1) - 7)) & '"' , "", @SW_HIDE)
Next
EndFunc
Man wählt dabei mehrere Dateien im Lister $list_dir aus, danach wird das Eingabe-GUI $gui_renamefile geöffnet das aus der ersten ausgewählt Datei den Namen ausliest und vorgibt. Diesen kann ich dann beliebig ändern und mit der Schaltfläche OK wird die erste Datei dann umbenannt.
Ist das erledigt, soll das Eingabe-GUI wieder erscheinen und die nächste Datei auslesen/umbennenen.
Ich stehe da jedoch mit meinen Überlegungen nun etwas an. Wie könnte man das umsetzen ?