Applescript Sposta il file corrente nella cartella

1

Voglio creare uno script che accetta la selezione del file corrente e la sposta in una cartella già esistente. Quindi duplicherò questo codice per altre 9 cartelle e assegnerò loro tutte le scorciatoie da tastiera.

La mia applicazione è piuttosto specifica e sfortunatamente ho bisogno di usare il Finder per monitorare rapidamente campioni audio piuttosto che il Terminale. (Sto guadando migliaia di campioni audio, cancellandoli e ordinandoli in sottocartelle).

L'idea è molto semplice:

tell application "Finder"
    move selection to alias "Users:Jordan:Desktop:0"
end tell

Questo codice funziona; tuttavia, procede quindi a spostare la cartella principale del file di destinazione nella cartella di destinazione. Questa azione rende la sceneggiatura controproducente e inutile. Ho provato la stessa idea in motorino senza alcun risultato. Ho creato script lunghi per cercare di impedire a tell di spostare anche la cartella, ma niente ha funzionato.

È al di là di me perché una funzione così semplice può essere così buggata e difficile e perché non importa quante variabili ho impiegato per rendere la selezione statica, o quanti condizionali o ritardi aggiungo, lo script sposta ancora il file in folder A a folder B THEN folder A in folder B .

Come faccio a spostare file in folder A in folder B senza spostare folder A anche in esso?

    
posta Jed SuRReal Godwin 13.05.2015 - 08:18
fonte

3 risposte

2

Questo potrebbe essere un approccio maldestro da parte di Applescript rispetto al comando "sposta" di Automator, ma poiché è così che l'OP si avvicina ...

Per farlo come un servizio di Automator, quindi è facile selezionarlo ...

"Il servizio riceve" file o cartelle "selezionati in" Finder ".

on run {input, parameters}   

    tell application "Finder"
        set selected_items to selection
        set theFolder to ((((path to desktop folder) as text) & "test") as alias)
        repeat with x in selected_items
            move x to theFolder
        end repeat      
    end tell    

    return input
end run
    
risposta data 13.05.2015 - 09:16
fonte
1

In realtà userei Automator.

Imposta un servizio e chiamalo come preferisci.

Sotto la scheda "Azioni" seleziona "File e cartelle". Quindi fai doppio clic / seleziona "Sposta elementi del Finder".

Quindi seleziona la posizione in cui vuoi spostare gli oggetti. Salvalo e quindi aggiungilo alle scorciatoie da tastiera personalizzate.

Per fare questo vai su "Preferenze di Sistema" e sotto "Tastiera" seleziona "Scorciatoie App". Quindi fai clic sul segno "+" e aggiungi il nome con cui è stata salvata la tua app di automazione.

Quindi provalo!

    
risposta data 13.05.2015 - 09:09
fonte
0
tell application "Finder"
    repeat with thisFolder in (items of (get selection))
        repeat with thisItem in (get items of thisFolder)
            move thisItem to (POSIX file "/Users/Jordan/Desktop/0/")
        end repeat
    end repeat
end tell 
    
risposta data 13.05.2015 - 09:17
fonte

Leggi altre domande sui tag