Dateien in verschiedenen Ordnern ersetzen

German support forum

Moderators: Hacker, Stefan2, white

User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Kerstin83,
Die Bilddatei liegt ja in dem Ordner media/image bzw. im Ordner media/image/thumbnail. Und andere Dateien (z.B. pdf) werden analog abgelegt.
Könntest Du bitte ein paar Beispiele nennen?
Sagen wir das Projekt liegt in C:\Projekt\ und es gibt Verzeichnisse wie C:\Projekt\media\image\ und C:\Projekt\media\image\thumbnail\. Wäre es vielleicht nützlich wenn alle Dateien ab C:\Projekt\ (auch in Unterverzeichnissen) nach C:\Projekt\3-Ebenen\MD5\String\ kopiert würden? Oder viellecht nach C:\BlaBumm\3-Ebenen\MD5\String\? Oder in jeweilige Unterverzeichnisse, also z.B. C:\Projekt\media\image\thumbnail\3-Ebenen\MD5\String\? Oder wie wäre das am besten?
Aber das andere ist auch wichtig, wie ich noch mal diesen Botton bekomme?
Ach ja, sorry, einfach auf die Leiste ziehen, bearbeiten, Startpfad löschen, OK.
Für das bedanke ich mich auch noch einmal!!
Aber gerne. ;)

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Kerstin83
Senior Member
Senior Member
Posts: 341
Joined: 2007-11-25, 10:18 UTC
Location: Hannover

Post by *Kerstin83 »

Hallo,
also ideal wäre es, wenn ich mich in einem Ordner "Ordner" (Beispiel) befinde und das Skript starte. Es sollte dann die Dateistruktur im Unterordner md5 neu aufgebaut werden.

.../Ordner/media/image/bild1.jpg ; bild2.jpg ...
.../Ordner/media/image/thumbnail/bild1_140x140.jpg ; bild2_140x140.jpg ...
.../Ordner/media/pdf/blabumm.pdf

und die kommen dann in die Ordner:

.../Ordner/md5/media/image/3md5Ordner/bild1.jpg ...
.../Ordner/md5/media/image/thumbnail/3md5Ordner/bild1_140x140.jpg ...
.../Ordner/md5/media/pdf/3md5Ordner/blabumm.pdf

3md5Ordner sind dann jeweils die 3 md5 Ordner. Das md5 wird gebildet aus dem ganzen Pfad, beginnend mit media, also inklusive thumbnail/ bzw. pdf/.

Ist nicht ganz einfach zu beschreiben, ich hoffe, ich habe das einigermaßen verständlich ausgedrückt.

Liebe Grüße

Kerstin :)
Last edited by Kerstin83 on 2015-11-10, 11:16 UTC, edited 1 time in total.
Ich hasse Leute, die Sätze nicht zuende
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Hallo Kerstin83,
Skript auf die Buttonleiste legen, Startpfad löschen, OK, und aus Ordner starten. ;)

Code: Select all

Loop, Files, *.*, R
{
	StringReplace, FileNameWithRelativePath, A_LoopFileFullPath, \, /, All
	MD5Path := MD5(FileNameWithRelativePath)
	Dir := "md5\" . A_LoopFileDir . "\" . SubStr(MD5Path, 1, 2) . "\" . SubStr(MD5Path, 3, 2) . "\" . SubStr(MD5Path, 5, 2)
	FileCreateDir, %Dir%
	SourceFile%A_Index% = %A_LoopFileFullPath%
	DestFile%A_Index% = %Dir%\%A_LoopFileName%
	NumFiles = %A_Index%
}

Loop, %NumFiles%
	FileCopy, % SourceFile%A_Index%, % DestFile%A_Index%

MD5(String, Case := False) ; by SKAN | rewritten by jNizM
{
	hModule := DllCall("LoadLibrary", "Str", "advapi32.dll", "Ptr")
	VarSetCapacity(MD5_CTX, 104, 0)
	DllCall("advapi32\MD5Init", "Ptr", &MD5_CTX)
	DllCall("advapi32\MD5Update", "Ptr", &MD5_CTX, "AStr", String, "UInt", StrLen(String))
	DllCall("advapi32\MD5Final", "Ptr", &MD5_CTX)
	Loop, 16
		MD5Hash .= Format("{:02" (Case ? "X" : "x") "}", NumGet(MD5_CTX, 87 + A_Index, "UChar"))
	DllCall("FreeLibrary", "Ptr", hModule)
	Return, MD5Hash
}
HTH
Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
User avatar
Kerstin83
Senior Member
Senior Member
Posts: 341
Joined: 2007-11-25, 10:18 UTC
Location: Hannover

Post by *Kerstin83 »

kuuhl !!!

Ich bin echt gut. Das musst du doch jetzt zugeben. Ich habe das genial beschrieben, so dass es ganz einfach nur noch programmiert werden musste. Gute Vorarbeit ist eben alles. Ich bin genial, ich bin genial.

Kleiner Scherz. Das Programm läuft perfekt! Ich weiß gar nicht, wie ich dir danken soll. Hier gibt es ja noch nicht mal einen Bedanken-Button. Habe das md5 in den verschiedensten Dateinamen und Ordnern getestet.

Daaanke :) :)

Autohotkey scheint doch ein ganz cooles Programm zu sein. Ich kenne mich ein kleines bisschen in php und javascript aus (also wirklich nur ein bisschen) und das ist leider komplett anders.

Liebe Grüße

Kerstin
Ich hasse Leute, die Sätze nicht zuende
User avatar
Hacker
Moderator
Moderator
Posts: 13142
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

Kerstin83,
Ich bin echt gut. Das musst du doch jetzt zugeben. Ich habe das genial beschrieben, so dass es ganz einfach nur noch programmiert werden musste. Gute Vorarbeit ist eben alles. Ich bin genial, ich bin genial.
Gebe ich restlos zu. :D
Ich weiß gar nicht, wie ich dir danken soll.
Ich nehme Bitcoin und Litecoin gerne entgegen. :P
Daaanke :) :)
Bitte. 8)
Autohotkey scheint doch ein ganz cooles Programm zu sein.
Ist es auch. ;)
Ich kenne mich ein kleines bisschen in php und javascript aus (also wirklich nur ein bisschen) und das ist leider komplett anders.
Ja, AHK ist einfacher. :P

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Post Reply