当我通过 AppleScript 从垃圾箱“放回”文件时,如何避免密码提示?

当我通过 AppleScript 从垃圾箱“放回”文件时,如何避免密码提示?

我无意中将 4,000 多个文件移到了废纸篓,我想将这些文件移回原来的位置。虽然 Lion 支持此功能(通过 Finder 的“放回”命令),但它只允许您一次放回一个文件。

我找到了一个 AppleScript 脚本,可以自动将文件逐个放回原处。我运行了整整一夜,它基本成功了,但垃圾箱里还剩下 1,700 个文件。

问题是,剩余的文件需要我输入密码才能放回。我相信这些文件是由其他所有者创建的。

我的问题是我该如何解决这个问题?

有没有办法进入超级用户模式,让我不必为每个要取消删除的文件输入密码?

任何帮助是极大的赞赏。

以下是 AppleScript:

  repeat 4173 times --or as many files you have

          tell application "Finder" to open trash --open the trash folder

          tell application "Finder" to activate

          tell application "System Events"

                    tell process "Finder"

  delay 0.2 -- adjust delay as needed

  key code 125 --move down to get focus on a file

  key down command --hold command key

  delay 0.2 -- adjust delay as needed

  key code 51 --hit delete

  key up command --release command

                    end tell

          end tell

  delay 0.2 -- adjust delay as needed

          tell application "Finder" to close every window --close everything for the next cycle

end repeat

答案1

您还可以模拟输入密码。keystroke "password" & return当不显示密码对话框时,该部分应该是无害的。我只用几个文件测试了这个脚本,所以可能仍然需要修改。

tell application "Finder"
    repeat 4 times
        close windows
        open trash
        activate
        tell application "System Events"
            key code 125
            key code 51 using command down
            delay 0.2
            keystroke "password" & return
            delay 0.2
        end tell
    end repeat
    close windows
end tell

我也尝试使用 以 root 身份打开 Finder sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder,但放回操作似乎对任何文件都不可用。

相关内容