Skip to content

Instantly share code, notes, and snippets.

@menushka
Created December 30, 2018 22:47
Show Gist options
  • Star 31 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save menushka/cb3ed28b73fc030b5b21e0316d059928 to your computer and use it in GitHub Desktop.
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
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
@UnusualAppleScript
Copy link

you have a bug with big file because it takes a lot time to move it, so you need to add delay to this script

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?

@rnag
Copy link

rnag commented Feb 27, 2024

This script works for me. I just needed to remove word "alias" as others mentioned.

Steps:

  1. open app "Script Editor", File > New, then paste contents and name as airdropSorter and save to ~/Desktop (default location)
  2. Modify script value AIRDROP_FOLDER to point to new location for airdropped files. Example: Macintosh HD⁩:Users⁩⁩:⁨⁩ritvik:Git-Projects:Personal:blah
  3. Remove alias so we end up with moveFile(current_item, AIRDROP_FOLDER)
  4. 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/"
  5. Right click on Downloads in Finder, Show In Enclosing Folder then right-click on Downloads 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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment