Browse Source
Though AppleScript is slow, Put Back data is stored in ~/.Trash/.DS_Store, and there is no way to write to it from the shell at this time. The minimum Zsh version has been incremented to 4.3.10 to use the 'a' modifier to convert a relative path into a full path.master
Sorin Ionescu
13 years ago
2 changed files with 20 additions and 13 deletions
@ -1,13 +1,20 @@
@@ -1,13 +1,20 @@
|
||||
local trash_dir="${HOME}/.Trash" |
||||
local trash_item |
||||
local item |
||||
for item in "${@}"; do |
||||
if [[ -e "${item}" ]] || [[ -L "${item}" ]]; then |
||||
trash_item="${trash_dir}/${item:t}" |
||||
if [[ -e "${trash_item}" ]] || [[ -L "${trash_item}" ]]; then |
||||
trash_item="${trash_item} $(date "+%H-%M-%S")" |
||||
fi |
||||
mv -f "${item}" "${trash_item}" |
||||
print -N "${@:a}" | xargs -0 osascript -e ' |
||||
on run theFilePaths |
||||
tell application "Finder" |
||||
set thePOSIXFiles to {} |
||||
repeat with aFilePath in theFilePaths |
||||
set aPOSIXFile to aFilePath as POSIX file |
||||
if exists aPOSIXFile |
||||
set end of thePOSIXFiles to aPOSIXFile |
||||
end if |
||||
end repeat |
||||
move every item of thePOSIXFiles to trash |
||||
end tell |
||||
end run |
||||
' &>/dev/null |
||||
|
||||
if (( $? != 0)); then |
||||
print "$0: failed to move one or more items" >&2 |
||||
return 1 |
||||
fi |
||||
done |
||||
|
||||
|
Loading…
Reference in new issue