Mehrfach-Umbenenn Tool: Verzeichnisse basierend auf Filename

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
astralleib
Junior Member
Junior Member
Posts: 15
Joined: 2006-10-23, 15:39 UTC

Mehrfach-Umbenenn Tool: Verzeichnisse basierend auf Filename

Post by *astralleib »

Ich habe folgendes Problem: Ich habe z.B. zwei Dateien ausgewählt:

Code: Select all

foo.txt
bar.pdf
Nun möchte ich mit dem Umbenenn-Tool für jedes File ein Verzeichnis erstellen, das auf dem Dateinamen (ohne Endung) basiert, und die einzelnen Dateien in ihr gleichnamiges Verzeichnis bewegen.

So sollte die Ordnerstruktur dann aussehen:

Code: Select all

foo\foo.txt
bar\bar.pdf
Habs im Mehrfach Umbenenn Tool mit Suchen & Ersetzen mit RegEx probiert:
Suchen nach: (^.*)\.(.*)
Ersetzen durch: \\$1\\$1.$2

Aber so kann man keine Verzeichnisse erstellen.

Gibt es eine Möglichkeit, dies zu bewerkstelligen?
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Irgendwie bekommt mir das bekannt vor:
http://www.ghisler.ch/wiki/index.php/Autohotkey:_Create_folders_from_filenames

Die Scriptanpassung wäre simpel.

Icfu
This account is for sale
astralleib
Junior Member
Junior Member
Posts: 15
Joined: 2006-10-23, 15:39 UTC

Post by *astralleib »

Danke für Tipp! Habe dein Script angepasst, sodass es mit beliebig langen Dateinamen klappt - vielleicht hilft's jemandem:

Code: Select all

~^!c::
IfWinActive, ahk_class TTOTAL_CMD
{
	ControlGetFocus, Control, ahk_class TTOTAL_CMD
	If (Control="TMyListBox1" or Control="TMyListBox2")
	{
		SendMessage 1075, 2029, , , ahk_class TTOTAL_CMD
		SetWorkingDir, %clipboard%
		SendMessage 1075, 2017, , , ahk_class TTOTAL_CMD
		Loop, Parse, Clipboard, `n, `r
		{
			SplitPath, A_LoopField , name, dir, ext, name_no_ext, drive
			FileCreateDir, %name_no_ext%
			FileMove, %A_LoopField%, %name_no_ext%
		}
	} 
}
Return
Wie es scheint, ist das mit den Bordmitteln von TC nicht möglich. Schade, denn ich habe den Commander auf meiner USB Disk, und nicht überall gibts AutoHotKey - und die obige Methode ist nicht gerade DAU-freundlich ! :shock:

Wär doch ein Feature für den nächsten Release: Erstellen von Ordnern durch einen Backslash im Umbenenn-Tool ;-)
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Das Script kannst Du kompilieren mit AHK2Exe und dann auch unterwegs einsetzen!
Wär doch ein Feature für den nächsten Release: Erstellen von Ordnern durch einen Backslash im Umbenenn-Tool
Kann gut sein, daß das im TC 7 gehen wird.

Das Problem im Moment besteht eigentlich nur darin (vermute ich zumindest), daß der TC beim Kopieren nicht automatisch den Zielordner erstellt, wenn er nicht vorhanden ist.

Denn: Verschieben "ein Verzeichnis höher" geht schon jetzt per MRT. Du brauchst nur ein Inhaltsplugin, das dem TC einen Backslash liefert. Wenn Du beispielsweise all Deine Dateien mit dem Dateikommentar "..\" versiehst, kannst Du das in die Benennungsbox eintragen:
[=tc.Kommentar][N]

Beim Ausführen werden dann alle Dateien eine Hierarchieebene hochgeschoben.

Vielleicht erlaubt der TC ja in Zukunft auch mal, daß man den Backslash direkt in die Umbenennbox einträgt statt ihn aus einem Inhaltsplugin auszulesen. Also, warten wir's ab...

Icfu
This account is for sale
Post Reply