Created
December 30, 2018 22:47
-
-
Save menushka/cb3ed28b73fc030b5b21e0316d059928 to your computer and use it in GitHub Desktop.
A Folder Action script written in AppleScript used to separate AirDropped files into a different folder other than the default Downloads folder
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
property AIRDROP_FOLDER : "Path:to:AirDrop:Folder:in:Alias:format" | |
property QUARANTINE_KEY : "59" | |
property GET_QUARANTINE_COMMAND_START : "ls -l -@ '" | |
property GET_QUARANTINE_COMMAND_END : "' | tr '\\n' ' ' | sed 's/.*com\\.apple\\.quarantine\\s*\\(\\d*\\)/ \\1/' | awk '{$1=$1};1'" | |
on adding folder items to this_folder after receiving added_items | |
repeat with i from 1 to length of added_items | |
set current_item to item i of added_items | |
set quarantine_type to getQuarantineType(POSIX path of current_item) | |
if quarantine_type is equal to QUARANTINE_KEY then | |
moveFile(current_item, alias AIRDROP_FOLDER) | |
end if | |
end repeat | |
end adding folder items to | |
on moveFile(move_file, destination_dir) | |
tell application "Finder" | |
move move_file to destination_dir with replacing | |
end tell | |
end moveFile | |
on getQuarantineType(file_path) | |
return do shell script GET_QUARANTINE_COMMAND_START & file_path & GET_QUARANTINE_COMMAND_END | |
end getQuarantineType |
This script works for me. I just needed to remove word "alias" as others mentioned.
Steps:
- open app "Script Editor", File > New, then paste contents and name as
airdropSorter
and save to~/Desktop
(default location) - Modify script value
AIRDROP_FOLDER
to point to new location for airdropped files. Example:Macintosh HD:Users:ritvik:Git-Projects:Personal:blah
- Remove
alias
so we end up withmoveFile(current_item, AIRDROP_FOLDER)
- Run the following in a Terminal (enter password if prompted):
sudo mkdir -p "/Library/Scripts/Folder Action Scripts/" && sudo cp ~/Desktop/airdropSorter.scpt "/Library/Scripts/Folder Action Scripts/"
- Right click on
Downloads
in Finder, Show In Enclosing Folder then right-click onDownloads
and Services > Folder Action Setup and make sure you got "Downloads" on left and "airdropSorter" script on right, and everything is checked.
Tested on:
Apple M2 2023; Sonoma 14.2.1 (23C71)
Works great. I dropped the 'alias' as mentioned. @barfburglar: The normal Automator action that watches folders does not work for me for AirDropped files.
Took me a bit to understand the AIRDROP_FOLDER is the folder you're moving files to?
I'm not an AppleScripter. Is there a way to restrict to only .gpx files
Sequoia 15.1, M2 Pro Mini
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm new here and I face the exact same issue as @FuckBound. Saw you mention on adding delay to this script. Can I ask how to go about? How will the additional code look like?