[GastForen Programmierung/Entwicklung AppleScript Datei wie Ordner benennen und anschließend verschieben

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Datei wie Ordner benennen und anschließend verschieben

Uwe Beutler-Bußmann
Beiträge gesamt: 95

12. Aug 2010, 18:21
Beitrag # 1 von 11
Bewertung:
(11206 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Abend,

ich suche zur Ergänzung eines Automator-Workflows folgendes:
In einem Ordner (out) landet ein Ordner (Name z.B. A-12345) und eine PDF-Datei (Name z.B. PDF-12-08-2010). Die PDF soll nun umbenannt werden und zwar so wie der Ordner heißt der da neben liegt. Nach der Umbenennung soll die PDF Datei an einen anderen Ort verschoben werden (Ordner "Fertig") und der Ordner z.B. A-12345 soll gelöscht werden.
Ich weiß das es so eine ähnliche Anfrage hier im Forum schon einmal gegeben hat, aber ich finde nichts :-(

Danke für die Hilfe
Uwe
X

Datei wie Ordner benennen und anschließend verschieben

Hans Haesler
  
Beiträge gesamt: 5826

12. Aug 2010, 19:19
Beitrag # 2 von 11
Beitrag ID: #448739
Bewertung:
(11198 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ja, es gab schon verschiedene ähnliche Anliegen. Aber jedes hatte seine "Spezialität". Deshalb musste meistens ein eigenes Script entwickelt werden.

Unter welchem Mac OS bist Du jetzt unterwegs? PowerPC oder Intel-Maschine?

Ist das Intervall, in welchem der Ordner und die PDF-Datei eintreffen, gross genug, dass "aufgeräumt" werden kann?

Weshalb wird die PDF-Datei nicht sofort richtig benannt? Wird sie im "out"-Ordner geschrieben? Oder hineinverschoben? Was soll der (offenbar) leere Ordner, welcher dann entfernt werden muss?

Dieser Ordner muss auf jeden Fall gelöscht werden, bevor die Datei umbenannt werden kann.

Gruss, Hans


als Antwort auf: [#448735]

Datei wie Ordner benennen und anschließend verschieben

Uwe Beutler-Bußmann
Beiträge gesamt: 95

12. Aug 2010, 21:59
Beitrag # 3 von 11
Beitrag ID: #448742
Bewertung:
(11171 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,
Erst mal die einfachen Angaben: Intel Maschine und MAC OS X 10.6 (evtl. Server).
Intervall sollte groß genug sein.
Der Automator erstellt mir aus einer Composite PDF und TIFF-Kanälen eine NEUE PDF. Diese Dateien kommen per Ordner in den Hotfolder. Der Automator benennt die neue PDF nach Erstellungsdatum.
Also vereinfacht gesagt, ich möchte das die fertige PDF Datei genauso heisst, wie der ORDNER, der in den Hotfolder gelegt wird.
Den leeren Ordner habe ich bisher nur dort abgelegt, um evtl den Namen wieder abzufangen. Aber evtl. bin ich auch auf dem Holzweg.
Bei Fragen - bitte melden.

Uwe


als Antwort auf: [#448739]

Datei wie Ordner benennen und anschließend verschieben

Hans Haesler
  
Beiträge gesamt: 5826

12. Aug 2010, 22:42
Beitrag # 4 von 11
Beitrag ID: #448744
Bewertung:
(11157 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

für Deine Aufgabe sehe ich vier Möglichkeiten:
1. Alles manuell erledigen.
2. Eine Ordneraktion, an den Hotfolder gehängt.
3. Ein Programm, welches den Hotfolder überwacht.
4. Ein Script, welches bei Bedarf gestartet wird.

Die erste "Lösung" wird wohl ausscheiden, weil die Anzahl Dateien zu gross sein wird.

Eine Ordneraktion ist erstens unzuverlässig und zweitens müsste beim Hinzufügen eines Objekts Buch geführt werden: Ist es ein Ordner oder eine Datei? Und beim zweiten Ereignis: Ist es ein Ordner oder eine Datei? Wenn eine Datei: Ist der Ordner schon da? Und umgekehrt.

Eine Script-Applikation hätte dasselbe Problem. Und ist auch eine wackelige Angelegenheit.

Am besten fährt man mit einem Script, welches manuell gestartet wird, wenn Ordner und Datei vorhanden sind. Oder ist da der Aufwand auch zu gross?

Bei den Lösungen 2 bis 4 muss der Zielordner bekannt sein. Den Pfad entweder im Code festschreiben. Oder einmal auswählen und in einer Property speichern. Müsste aber zuerst testen, ob eine Ordneraktion unter Mac OS X 10.6 diese Information behalten kann.

Gruss, Hans


als Antwort auf: [#448742]

Datei wie Ordner benennen und anschließend verschieben

Uwe Beutler-Bußmann
Beiträge gesamt: 95

13. Aug 2010, 07:34
Beitrag # 5 von 11
Beitrag ID: #448749
Bewertung:
(11127 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen Hans,

mir wäre eine Hotfolderüberwachung am liebsten.
Was mir gestern Abend noch einfiel: das PDF umbenennen, in den leeren Ordner "moven" und dann den Ordner sammt PDF in den Zielordner bewegen. Das wäre es kurz auf den Punkt gebracht.

Uwe


als Antwort auf: [#448744]

Datei wie Ordner benennen und anschließend verschieben

Hans Haesler
  
Beiträge gesamt: 5826

13. Aug 2010, 08:14
Beitrag # 6 von 11
Beitrag ID: #448750
Bewertung:
(11118 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

die PDF-Datei muss zuerst in den leeren Ordner verschoben werden. Erst dann kann man sie umbenennen.

Ich werde mich erst heute im Laufe des Abends darum kümmern können. Dann werde ich die notwendige Zeit haben. Und auch über ein Mac OS 10.6 verfügen.

Dabei werde ich auf Beispielen aufbauen, welche eine rasche Suche zutage förderten:

Ordneraktion:
http://www.hilfdirselbst.ch/...i?post=418256#418256

http://www.hilfdirselbst.ch/...i?post=420376#420376

Ordnerüberwachung:
http://www.hilfdirselbst.ch/...i?post=421680#421680

Gruss, Hans


als Antwort auf: [#448749]

Datei wie Ordner benennen und anschließend verschieben

Hans Haesler
  
Beiträge gesamt: 5826

14. Aug 2010, 09:57
Beitrag # 7 von 11
Beitrag ID: #448828
Bewertung:
(11059 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

hier eine erste Version. Die Pfade von sourceFolder und targetFolder musst Du anpassen. Ebenso den Wert im idle-Handler. Mit dem aktuellen 5 wird alle fünf Sekunden eine Liste der Objekte im Hotfolder erstellt.

Sobald die Anzahl grösser als 1 ist, werden die beiden ersten Objekte zwei Variablen zugewiesen. Als Alias, damit die PDF-Datei nach dem Umbenennen ebenfalls verschoben werden kann.

Dann wird geprüft, ob das erste Objekt ein Ordner ist. Wenn ja, werden die Namen der beiden Objekte gespeichert. Falls der Name des zweiten Objekts mit ".pdf" endet, wird schon mal der Ordner in den Zielordner verschoben. Schliesslich wird die Datei umbenannt und auch verschoben.

Wenn das erste Objekt eine Datei ist, wird ähnlich vorgegangen.

Den folgenden Code im Dateiformat Programm sichern und die Checkbox "Nicht automatisch beenden" aktivieren. Das Progrämmchen mit Doppelklick auf sein Icon starten und – der Hotfolder wird überwacht.

Code
property sourceFolder : "SnowLeo:Users:uwe:Documents:Hotfolder:" 
property targetFolder : "SnowLeo:Users:uwe:Documents:Zielordner:"

on idle
listObjects()
return 5
end idle

on listObjects()
set objectList to list folder sourceFolder without invisibles
if (count of objectList) is greater than 1 then
set curObject_1 to (sourceFolder & item 1 of objectList) as alias
set curObject_2 to (sourceFolder & item 2 of objectList) as alias
if folder of (info for curObject_1) then
set folName to item 1 of objectList
set fileName to item 2 of objectList
if fileName ends with ".pdf" then
moveFolder(curObject_1)
try
tell application "Finder" to set name of curObject_2 to folName & ".pdf"
end try
moveFile(curObject_2, folName)
end if
else if folder of (info for curObject_2) then
set folName to item 2 of objectList
set fileName to item 1 of objectList
set curObject to sourceFolder & item 2 of objectList
if fileName ends with ".pdf" then
moveFolder(curObject_2)
try
tell application "Finder" to set name of curObject_1 to folName & ".pdf"
end try
moveFile(curObject_1, folName)
end if
end if
end if
end listObjects

on moveFolder(x)
try
tell application "Finder" to move folder x to folder targetFolder with replacing
end try
end moveFolder

on moveFile(x, f)
try
tell application "Finder" to move file x to folder (targetFolder & f) with replacing
end try
end moveFile

Voraussetzung ist, dass immer ein Ordner und die dazugehörige PDF-Datei in den Hotfolder verschoben werden. Das kann auch nacheinander geschehen. Die Aktion wird erst ausgelöst, wenn zwei Objekte aufgelistet sind.

Gruss, Hans


als Antwort auf: [#448750]

Datei wie Ordner benennen und anschließend verschieben

Uwe Beutler-Bußmann
Beiträge gesamt: 95

31. Aug 2010, 15:06
Beitrag # 8 von 11
Beitrag ID: #450274
Bewertung:
(10829 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

bin heute erst aus dem Urlaub zurück.
Vielen Dank für das Script. Ich denke ich werde es in dieser Woche ausprobieren können. Ich melde mich dann.

Uwe


als Antwort auf: [#448828]

Datei wie Ordner benennen und anschließend verschieben

radlager
Beiträge gesamt:

16. Sep 2010, 12:12
Beitrag # 9 von 11
Beitrag ID: #451699
Bewertung:
(10665 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe
Siehst Du auch eine Möglichkeit, tiff.-Files in .pdf umzuwandeln? Unter Linux gibts das tiff2pdf, aber bei OSX ?


als Antwort auf: [#448750]

Datei wie Ordner benennen und anschließend verschieben

Hans Haesler
  
Beiträge gesamt: 5826

16. Sep 2010, 12:39
Beitrag # 10 von 11
Beitrag ID: #451712
Bewertung:
(10652 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo radlager,

herzlich willkommen im AppleScript-Forum auf HDS! :-)

Bitte eröffne mit Deiner Frage ein eigenes Thema.

In diesem hier geht es nur um das Umbenennen und das Verschieben der Dateien.

Du kannst mit einem Link auf die Antwort verweisen, in welcher Uwe sein Vorgehen beschreibt: http://www.hilfdirselbst.ch/..._P448742.html#448742

Damit der Link "lebendig" ist, vorher ein [ u r l ] einfügen (aber ohne Leerschläge) und dahinter das Deaktivieren mit [ / u r l ].

Gruss, Hans


als Antwort auf: [#451699]

Datei wie Ordner benennen und anschließend verschieben

Uwe Beutler-Bußmann
Beiträge gesamt: 95

13. Okt 2010, 19:07
Beitrag # 11 von 11
Beitrag ID: #454012
Bewertung:
(10468 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

kaum zu glauben - aber mittlerweile habe ich es geschafft das Script zu testen und einzusetzen. Es klappt super.
Danke für deine Hilfe.
Gruß

Uwe


als Antwort auf: [#448828]
X