Hallo, da ich Applescript Anfänger bin, komme ich mit meinem Problem nicht weiter. Meine Aufgabe Ich habe Dateien mit einer 7-stelligen Ziffer wobei die erste Ziffer die 5 ist (z.B 5001025) und eine Ordnerstruktur mit 250-Schritten (5000000-5000249, 5000250-499, usw). Die Dateien werden von einer Fräsmaschine z.B. 10 Stück auf einmal in einen "Verteilordner" gelegt und von dort aus sollen dann die Dateien, entweder über z.B.eine Ordneraktion oder 1x am Tag in die entsprechenden Ordner sortiert werden. Hierzu fehlt mir jegliche Idee und Wissen, deshalb würde ich mich sehr über eine Lösung freuen...... Einen ähnlichen Anwendungsfall hat "softikuss am 27.09-16 gelöst (Bilddateien in Ordner einordnen) Seid gegrüßt Ruediger77
Hallo Hans, besten dank für die rasche Antwort Die von dir genannte Ordnerstruktur (Ordnernamen) ist völlig in Ordnung.... 5000000-5000249 5000250-5000499 5000500-5000749 5000750-5000999 5001000-5001249 und die Beispieldatei, deren Name mit 5001025 beginnt, würde in den fünften Ordner verschoben werden. Süffix: Die Dateien heißen komplett z.B. 5010128A.MPF das A am Ende der Datei kann durch die Buchstaben B-H von der Fräschmaschine ersetzt werden (bedeutet verschiedene Aufspannungen des Werkstücks).......soll aber in den gleichen Ordner wie 5010128A.MPF verschoben werden, die komplette Anzahl der Zahlen/Buchstaben ist aber immer gleich (mit Suffix und Punkt = 13)
Das dies eine "harte" Nuß ist, ahne ich selbst mit meinen rudimetären Kenntnissen...
nur noch zur Info, auf dem MacServer läuft noch MacOSX 10.9
der nachfolgende Code als Programm gespeichert, ergibt ein Droplet. Auf dessen Icon kann man einen Ordner ziehen. Oder einzelne oder mehrere Dateien.
Das Script setzt den Namen des Ziel-Ordners zusammen und verschiebt die aktuelle Datei in diesen Ordner. Getestet mit Dateinamen von "5000000A.MPF" bis "5999999H.MPF".
Bei der ersten Ausführung muss der Hauptordner, welcher all die Unterordner enthält, gewählt werden. Wenn im gewählten Hauptordner ein Zielordner nicht vorhanden ist, wird er erzeugt.
Ich habe Dir das Script als Droplet gespeichert per PM zugestellt. Möglicherweise musst Du es erneut abspeichern.
Gruss, Hans
(Dieser Beitrag wurde von Hans Haesler am 27. Feb 2017, 09:46 geändert)
Hallo Hans, zuallererst einmal ein herzliches -Dankeschön- für deine Arbeit, wie ich es dir tatsächlich danken kann weiß ich nicht, falls es da eine Möglichkeit gibt, sag mir bitte Bescheid. Ich werde das script heute abend oder morgen testen können und gebe dir dann nochmals ein feedback........lass dir`s gut gehen, das wünsche ich dir Gruß Rüdiger
Ich habe gestern nicht geprüft, was geschieht, wenn die erste Ziffer des Dateinamens eine 6 oder eine 4 ist.
Diese Tests habe ich nun nachgeholt. Ergebnis: kein Problem. Die entsprechenden Ordner werden erzeugt und die Dateien verschoben.
Die Zeilen, welche den Namen des Zielordners errechnen und zusammensetzen ...
... funktionieren mit Dateinamen von "1000000A.MPF" bis "9999999H.MPF".
Wenn aber die sieben ersten Zeichen eines Dateinamens nicht in eine Ganzzahl verwandelt werden können, geht das Script kommentarlos zur nächsten Datei über. Der Benutzer sieht zwar, welche Dateien nicht verschoben wurden. Aber es fehlt eine Meldung.
Deshalb habe ich das obenstehende Script ergänzt und im Code einen Problemzähler eingefügt. Das Droplet sende ich Dir per PM zu.
Davon bekomme ich allerdings keinen Cent. Im Gegenteil: Ich spende selber jedes Jahr CHF 100.– Doch das ist es mir wert, allein schon, weil das Forum ein wertvolles "Nachschlagewerk" ist.
erst jetzt bemerkt: Dein Pseudo ist mit einem "p" versehen. Offensichtlich hat es mit der Überweisung geklappt. Das ist vorbildlich und ... nachahmenswert.
Ohne das Script genau zu prüfen… Eine Problematik ist mir gekommen, als ich das selbe für unser Fotoarchiv per AS frickeln wollte:
Was, wenn es das Zieöl schon gibt (Käme der Fall überhaupt vor?)?
move myFile to ServerTarget with replacing
Lustigerweise hat unser Fotostudio Dateinamen doppelt vergeben, bis ich das erstmal rausgefunden habe… Jedenfalls sollte euer Script noch prüfen, ob die Datei existiert. Wenn ja, die Datei ans Ende eine Liste stellen und danach per Dialog fragen, was mit diesen Daten passieren soll. Bei mir kann man entweder einen Zeitstempel wählen, oder den Dateinamen um einen abgefragten String ergänzen, zB "File1234_SHOOTING120217.psd".
Und während des verschiebens noch ein bisschen Spielerei anstatt einer Progressbar?
display notification "Datei " & CurrentCounter & " von " & length of myFiles & " verarbeitet" with title "" & name of myFiles[j] subtitle "…/" & TruncedPath & "/"
und noch ein paar Spielerein?
set myOperator to system info set myUser to short user name of myOperator if myUser = "mm123456" then set myUser to "Max Mustermann"
Und am Ende vielleicht noch die Zeit fürs Einsortieren?
irgendwo am Anfang: set startTime to (get current date)
und am Ende nachm Verschieben: set endTime to (get current date) set duration to endTime - startTime set mins to duration div minutes set secs to duration mod minutes
(Dieser Beitrag wurde von NEU! am 11. Apr 2017, 15:06 geändert)