Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 23

Thema: hilfe bei script | datei/-en umbenennen

  1. #1
    Neues MU Mitglied
    Registriert seit
    12.2012
    Beiträge
    11

    Question hilfe bei script | datei/-en umbenennen

    hi alle zusammen,

    hoffentlich könnt ihr mir helfen. ich bin neu hier aufm forum und bitte sämtliche fehler erstmal zu übersehen.
    nun zum script. auch dort bin ich kompletter quer einsteiger.

    das unten genannte script nimmt dateien (in meinem falle chronologisch exportierte fotos) aus dem ordner "1" und mischt alle im ordner "temp" durcheinander. anschliessend werden die dateien aus dem "temp" wieder zurückgespielt und der ordner "temp" wird gelöscht.

    was aber ab und an passiert, dass dateien nach der scriptausführung "verschluckt" werden. bei der letzten ausführung befanden sich 114 dateien im ordner "1" und davon wurden nur 97 zurückgespielt. mache ich da was falsch, oder lässt das script solche fehler zu? wenn ja, wie kann man das dem Script das untersagen so nach dem Motto: "apple script do not swallow data"

    Code:
    tell application "Finder"
        set fol1 to folder "1" of (path to desktop)
        
        
        make new folder at (path to desktop) with properties {name:"temp"}
        set fol2 to folder "temp" of (path to desktop)
        set theNum to number of items in fol1
        
        repeat with i from 1 to theNum
            set this_item to some item of fol1
            set fname to name of this_item
            set name of this_item to (i as text) & fname
            set x to (first item of fol1 whose name is (i as text) & fname)
            move x to fol2
        end repeat
        move files of fol2 to fol1
        delete fol2
        
        display dialog "habe fertig => durchgemischt !"
    end tell
    quit application "AppleScript Editor"
    wäre euch sehr sehr sehr dankbar.

    Gruß Chris


  2. #2
    MU Mitglied Avatar von Pill
    Registriert seit
    02.2011
    Beiträge
    2.391
    Kannst du nachvollziehen, welcher der beiden Kopiervorgänge scheitert? Eventuell reicht schon ein delay an der richtigen Stelle


  3. #3
    Neues MU Mitglied
    Registriert seit
    12.2012
    Beiträge
    11
    Themenstarter
    nein, leider nicht. er gibt mir keinerlei negative fehlercodes aus , oder zumindest seh ich nix.
    ich poste mal das protokoll das er mir ausgibt

    Code:
    tell application "Finder"
        path to desktop
            --> alias "Chris:Users:flipster:Desktop:"
        get folder "1" of alias "Chris:Users:flipster:Desktop:"
            --> folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        path to desktop
            --> alias "Chris:Users:flipster:Desktop:"
        make new folder at alias "Chris:Users:flipster:Desktop:" with properties {name:"geheimerordner"}
            --> folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        path to desktop
            --> alias "Chris:Users:flipster:Desktop:"
        get folder "geheimerordner" of alias "Chris:Users:flipster:Desktop:"
            --> folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        count folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> 4
        get some item of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "test (1 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        get name of document file "test (1 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> "test (1 of 4).jpg"
        set name of document file "test (1 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to "1test (1 of 4).jpg"
            --> "1test (1 of 4).jpg"
        get item 1 of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk whose name = "1test (1 of 4).jpg"
            --> document file "1test (1 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        move document file "1test (1 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "1test (1 of 4).jpg" of folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> error number 0
        get some item of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "test (3 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        get name of document file "test (3 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> "test (3 of 4).jpg"
        set name of document file "test (3 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to "2test (3 of 4).jpg"
            --> "2test (3 of 4).jpg"
        get item 1 of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk whose name = "2test (3 of 4).jpg"
            --> document file "2test (3 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        move document file "2test (3 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "2test (3 of 4).jpg" of folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> error number 0
        get some item of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "test (4 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        get name of document file "test (4 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> "test (4 of 4).jpg"
        set name of document file "test (4 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to "3test (4 of 4).jpg"
            --> "3test (4 of 4).jpg"
        get item 1 of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk whose name = "3test (4 of 4).jpg"
            --> document file "3test (4 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        move document file "3test (4 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "3test (4 of 4).jpg" of folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> error number 0
        get some item of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "test (2 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        get name of document file "test (2 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> "test (2 of 4).jpg"
        set name of document file "test (2 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to "4test (2 of 4).jpg"
            --> "4test (2 of 4).jpg"
        get item 1 of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk whose name = "4test (2 of 4).jpg"
            --> document file "4test (2 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
        move document file "4test (2 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> document file "4test (2 of 4).jpg" of folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> error number 0
        move every file of folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk to folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> {document file "1test (1 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk, document file "2test (3 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk, document file "3test (4 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk, document file "4test (2 of 4).jpg" of folder "1" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk}
            --> error number 0
        delete folder "geheimerordner" of folder "Desktop" of folder "flipster" of folder "Users" of startup disk
            --> folder "geheimerordner 21-13-12" of item ".Trash" of folder "flipster" of folder "Users" of startup disk
            --> error number 0
        display dialog "habe fertig - durchgemischt !"
            --> {button returned:"OK"}
    end tell
    Ergebnis:
    {button returned:"OK"}
    soll ich das zurückkopieren weglassen? dass der editor das zurückkopieren ned richtig macht?

    update: ohne das zurückschieben in fol1 bleiben alle dateien da... also will mein finder die dateien nicht vollständig (in voller anzahl) verschieben.

    Geändert von chrislee (09.12.2012 um 21:55 Uhr)

  4. #4
    MU Mitglied Avatar von Pill
    Registriert seit
    02.2011
    Beiträge
    2.391
    Es könnte sein, dass das "delete fol2" schon anfängt, bevor alle Dateien verschoben sind. Du könntest das umgehen, indem du abfragst, ob fol2 noch Dateien enthält:

    repeat until items of fol2 is {}
    delay 1
    end repeat


  5. #5
    Neues MU Mitglied
    Registriert seit
    12.2012
    Beiträge
    11
    Themenstarter
    das könnte sein ja. danke schonmal. an welche stelle kommt die abfrage? vor den del befehl?


  6. #6
    MU Mitglied Avatar von Pill
    Registriert seit
    02.2011
    Beiträge
    2.391
    genau.


  7. #7
    Neues MU Mitglied
    Registriert seit
    12.2012
    Beiträge
    11
    Themenstarter
    Zitat Zitat von Pill Beitrag anzeigen
    genau.
    merce. gib mir ein moment... ich probiers schnell aus und sag dir umgehend bescheid, obs funzt

    update: ich peils ned... gibt es eine art datei zwischenspeicher?

    denn ich habe 21 fotos im ordner 1 und er spielt mir 26 wieder zurück???


  8. #8
    MU Mitglied Avatar von Pill
    Registriert seit
    02.2011
    Beiträge
    2.391
    Vielleicht beschreibst du mal, was du mit deinem Skript genau erreichen willst, ich habe nämlich das Gefühl, du machst dir das Leben nur unnötig schwer


  9. #9
    Neues MU Mitglied
    Registriert seit
    12.2012
    Beiträge
    11
    Themenstarter
    meine ausgangssituation:

    ich bin event fotograf und habe 100 fotos von nem event... damit nicht 3 fotos von selben leuten (nur in anderen posen) hintereinander in der galerie sind, habe ich dieses script gefunden, das mir meine bearbeiteten fotos durcheinandermischen soll... so dass foto 3001 nicht nach 3000 kommt, sondern einfach zufällig irgendwo zwischen den 100 fotos ist... kann das dieses script überhaupt??

    diese exportierten fotos werden dann von mir per plugin auf facebook geladen... und die 3 fotos sollen ohne manuellen eingriff nicht direkt hintereinander in der galerie sein, was sie ohne änderung meinerseits ohne das script wären.


  10. #10
    MU Mitglied Avatar von Pill
    Registriert seit
    02.2011
    Beiträge
    2.391
    Das Skript von dir macht schon das, was du möchtest, aber sehr kompliziert. Folgendes Skript versieht die Namen deiner Dateien mit einer zufälligen Zahl:

    Code:
    tell application "Finder"
     set theFolder to folder "test" of desktop
     set theseFiles to every item of theFolder
     repeat with anFile in theseFiles
     set randomNumber to random numberfrom 1 to (count of theseFiles)
     set name of anFile to randomNumber & name of anFile as string
     end repeat
    end tell
    Dabei können Zahlen mehrfach auftauchen. Je mehr Bilder in dem Ordner sind, desto geringer ist jedoch die Wahrscheinlichkeit, dass 2 Bilder vom gleichen Motiv direkt hintereinander kommen. Diese Wahrscheinlichkeit lässt sich sehr einfach verringern, indem du nicht eine Zufallszahl von 1 bis Anzahl der Bilder generierst, sondern z.B. von 1-999999, oder einfach nur eine random number (dann hast du allerdings eine Fließkommazahl vor dem Dateinamen). Wenn man etwas mehr Aufwand betreiben möchte, kann man natürlich auch prüfen, ob die Zahl bereits vorkommt.


Seite 1 von 3 123 LetzteLetzte

Lesezeichen

Lesezeichen