Tôi đang cố gắng tìm cách tự động (không có sự can thiệp của người dùng) di chuyển tệp từ A sang B, thay thế B nếu nó tồn tại, lý tưởng nhất là đưa bản sao B hiện có vào thư mục Thùng rác thích hợp.
Điều này sẽ được thực hiện trong một kịch bản shell. Cuối cùng, A và B sẽ được $VARIABLES
như thế này:
/usr/bin/osascript <<EOT
tell application "Finder"
move POSIX file "$SOURCE" to POSIX file “$DEST" with replacing
end tell
EOT
nhưng tôi thậm chí không thể làm cho nó hoạt động mà không có các biến, chẳng hạn như:
/usr/bin/osascript <<EOT
tell application "Finder"
move POSIX file "/Users/luomat/Desktop/1.txt" to POSIX file "/Users/luomat/Desktop/2.txt" with replacing
end tell
EOT
Tôi đã lấy cú pháp đó khá nhiều trực tiếp từ Stackoverflow 14058061 nhưng tôi nhận được kết quả này:
24:132: execution error: Finder got an error: AppleEvent handler failed. (-10000)
Tôi cũng đã xem qua một bài viết MacTech có đề xuất sử dụng replacing true
vì vậy tôi đã thử:
/usr/bin/osascript <<EOT
tell application "Finder"
move POSIX file "/Users/luomat/Desktop/1.txt" to POSIX file "/Users/luomat/Desktop/2.txt" replacing true
end tell
EOT
nhưng nó vẫn nói:
24:132: execution error: Finder got an error: AppleEvent handler failed. (-10000)
Xin lưu ý rằng stackoverflow # 12708195 Tôi không cố gắng nhắc người dùng thực hiện việc này, nhưng lý tưởng nhất là nó sẽ xảy ra 'tự động' như những đứa trẻ nói.
Vì vậy, tôi đang làm gì sai và / hoặc mất tích? Việc cố gắng tìm kiếm thông tin về mã lỗi (-10000) của Google cho tôi biết rằng điều đó có nghĩa là Apple AppleScript đã thất bại, điều đó không hữu ích lắm.