Datei und Ordnernamen Kürzen

ich will doch einfach nur die Dateien auf 10 Zeichen bringen.

Am besten sollen alle überflüssigen Zeichen hinten abgeschnitten werden
 
Wie sieht die Ordnerstruktur aus?
Wie die Dateinamen? (Beispiele)
 
Dann probiere doch Name Mangler damit wird es definitiv gehen. Unter Remove/Insert findest Du die Lösung deines Problems.
 
Zuletzt bearbeitet:
Dann probiere doch Name Mangler damit wird es definitiv gehen. Unter Remove/Insert findest Du die Lösung deines Problems.

Nicht ganz. Mit name Mangler kann ich bestimmen wieviele Zeichen gelöscht werden, aber nicht wieviele Stehen bleiben sollen.

Die Ordnerstruktur ist in etwa so:

Ordner
Datei Ordner
Ordner Datei
Datei


Ich hoffe es ist zu erkennen was gemeint ist...

a better Finder Probiere ich gleich aus.
 
Zuletzt bearbeitet:
Ist es denn so wichtig, dass die Dateien einzeln auf dem Server liegen, oder reicht es auch, wenn du alle z.B. als .zip zur Verfügung stellst und die MA, die darauf zugreifen wollen, müssen sich die jeweiligen Dateien selbst rausholen?
 
Ist es denn so wichtig, dass die Dateien einzeln auf dem Server liegen, oder reicht es auch, wenn du alle z.B. als .zip zur Verfügung stellst und die MA, die darauf zugreifen wollen, müssen sich die jeweiligen Dateien selbst rausholen?

Ein Zip kann man leider nicht durchsuchen. Somit ist die Volltextsuche der PDFs verschenkt, und bei sovielen datein möchte ich nicht jede aufmachen...
 
Zuletzt bearbeitet von einem Moderator:
geneigte Leser,

gleich der erste Treffer wenn man die Gurgel befragt ;) bietet einem einen Lösungsansatz. Mmmh, ansonsten ist die Pfadlänge nur unter DOS auf 256 Zeichen beschränkt, XP & Co. können wesentlich mehr (in dem Artikel findest Du dann gleich noch einen weiteren Lösungshinweis für Dein Problem). Ansonsten unter MacOSX so etwas wie ABetterFinderRename, via Automator.

cheers,
pseudogc

Auf deine Suchbegriffe muss man aber auch erst mal kommen. :D

Es würde mich nicht Wundern, wenn unsere Server mit DOS laufen...

ABetterFinderRenamer bin ich grad am Testen, es sieht aber so aus, als könnte er auch nicht einfach 10 Zeichen stehen lassen und denr Rest löschen...
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

komm ich hole Dich da mal raus, ist ja nicht mehr anzusehen wie Du leidest ;-)

Code:
-- auf wie viele Zeichen sollen die Dateinamen reduziert werden
set charNo to 5

-- wie ist das Suffix der zu ändernden Datein
set myFileSufix to ".pdf"

-- Wo soll das Log gesichert werden, das nicht geänderte Dateien protokolliert
set logPath to (path to desktop folder as string) & "Log.txt"

-- >>> Suchen
set myFiles to paragraphs of (do shell script "find " & quoted form of POSIX path of (choose folder) & " -iname \"*" & myFileSufix & "\"")

-- Schleife, die die gefunden Dateien abarbeitet
repeat with nFile in myFiles
	
	try
		-- Dateinamen holen
		set AppleScript's text item delimiters to "/"
		set nFileName to last text item of nFile
		
		-- Mutterornder zu der Datei holen
		set AppleScript's text item delimiters to nFileName
		set nFileParent to first text item of nFile
		
		-- Dateinmane auf gewünschte Anzahl Zeichen schneiden
		if ((count of (every character of nFileName)) > charNo) then set nFileNameNew to my schneidenAnfangBeibehlaten(nFileName, charNo)
		
		-- Neuen Dateinamen + Mutterordner verbinden
		set nFileNew to nFileParent & nFileNameNew & myFileSufix

		-- prüfen, ob es schon eine Datei mit dem Namen gibt
		try
			alias (nFileNew as POSIX file)
			my schreibeZuDatei(logPath, nFileNew & return, false, false)
		on error
			try
				do shell script "mv " & quoted form of nFile & " " & quoted form of nFileNew
			on error
				-- hier ein Log?
			end try
		end try
		
	on error
		-- hier ein Log?
	end try
	
end repeat



-- Anzahl Zeichen vom Anfang erhalten
on schneidenAnfangBeibehlaten(txt, anzahl)
	set AppleScript's text item delimiters to ""
	return (characters 1 thru anzahl of txt) as string
end schneidenAnfangBeibehlaten


-- zu Datei schreiben
on schreibeZuDatei(pfadZuDatei, schreibeInhalt, ueberschreiben, alsListe)
	try
		set the pfadZuDatei to the pfadZuDatei as text
		set the offeneDatei to open for access file pfadZuDatei with write permission
		if ueberschreiben is true then set eof of the offeneDatei to 0
		if (alsListe is true) then
			write schreibeInhalt to the offeneDatei starting at eof as list
		else
			write schreibeInhalt to the offeneDatei starting at eof
		end if
		close access the offeneDatei
		return true
	on error fehlerMeldung number fehlerNr
		close access file pfadZuDatei
		my fehlerProtokoll(fehlerNr, fehlerMeldung)
		return false
	end try
end schreibeZuDatei


- Skripteditor öffnen
- das oben gezeigte Skript hinein kopieren
- ausführen, Play-Taste drücken
- im kommenden Dialog den Mutterodner aller PDFs wählen
- Okay drücken

Achtung: Es werden alle Dateien, die auf .pdf enden geändert.

Sollte es schon eine Datei mit dem Namen geben, so wird diese Datei nicht geändert.
Auf dem Schreibtisch liegt dann eine Datei mit dem Namen "Log.txt". Diese enthält alle Dateipfade, die schon existent waren.

Viele Grüße


Nachtrag:
Vorher ein Duplikat des Mutterordners zu erzeugen muss eigentlich nicht genannt werden... oder?
 
Zuletzt bearbeitet:
Hier noch ein Renamer-tool.

Und so wie das screenshot aussieht, sollte es doch gehen.
 

Anhänge

  • screenshot_01.jpg
    screenshot_01.jpg
    22,8 KB · Aufrufe: 74
Nicht ganz. Mit name Mangler kann ich bestimmen wieviele Zeichen gelöscht werden, aber nicht wieviele Stehen bleiben sollen.

Eben genau das kannst Du unter Remove/Insert einstellen.

In deinem Fall würde ich als erstes die Option [Folder] aktivieren, bei [First, remove] 240 [characters] eintragen und bei [starting with character] die 11 und bei [counting from the] beginning
 
Zuletzt bearbeitet:
Vielleicht ist es so etwas anschaulicher
 

Anhänge

  • Screenshot 7.jpg
    Screenshot 7.jpg
    36,4 KB · Aufrufe: 75
Zuletzt bearbeitet:
Vielen Dank!

Ich bin allerdings irgendwann selbst auf die Lösung gekommen, welche eitschpi vorgeschlagen hat....

Aber das Script ist klasse... Werd ich mir merken...
 
Zurück
Oben Unten