AutoHotkey: Archivnamen automatisch vergeben
Aus TCWikide
Wenn man mehrere Dateien packen möchte und der Dateiname ohne Erweiterung ist identisch, vergibt das folgende Skript automatisch diesen Namen , öffnet den "Packen"-Dialog vom TC und für den Dateinamen ein:
IfWinActive, ahk_class TTOTAL_CMD
{
; Variable setzen.
UseName = 1
; Zwischenablage leeren.
clipboard =
; Kopiere die Dateinamen mit Pfad der selektierten Dateien in die
; Zwischenablage (Total Commander-Funktion cm_CopyToClipboard).
PostMessage, 1075, 2008
; Warte darauf, dass die Zwischenablage befuellt wurde
ClipWait
; Alle Dateinamen mit Pfaden durchlaufen.
Loop, Parse, Clipboard, `n, `r
{
; Pfad und Erweiterung abschneiden
SplitPath, A_LoopField, FileName, Extension, Dir, FileNameNoExt
; Den ersten Namen fuer Vergleiche merken.
if (FirstName = "") {
FirstName = %FileNameNoExt%
} else {
; Merken, ob ein unterschiedlicher Name dabei ist.
if (FileNameNoExt <> FirstName) {
UseName = 0
}
}
}
; Falls alle Namen gleich sind, wird der Name fuer das ZIP-Archiv verwendet,
; sonst wird Feierabend gemacht.
if (UseName = 0) {
MsgBox, Unterschiedliche Dateinamen`, Abbruch!
} else {
Clipboard = zip:%FirstName%.zip
PostMessage, 1075, 508
Send ^v
}
}
Return