如何在Mac OS X中从废纸restore中还原所有文件?


Answers:


3

MacOS在中保留有关已删除文件的文件元信息~/.Trash/.DS_Store,其中还包含原始位置的记录。我编写了一个perl脚本,该脚本可扫描~/.Trash/.DS_Store文件并打印命令以将所有文件移回其原始位置。输出可以直接输入到外壳。

Perl脚本:https : //gist.github.com/cpq/3d58e144a3fc2e47c54a

要运行,请下载脚本,启动终端并输入 perl restore_mac_trash.pl


哇,这是唯一对我有用的选择!谢谢
安德烈·苏亚雷斯

2

这是另一个由user227282发布的AppleScript:

repeat
    tell application "Finder"
        close windows
        if items of trash is {} then return
        open trash
        activate
    end tell
    tell application "System Events"
        key code 125 -- down arrow
        key code 51 using command down -- command-delete
    end tell
end repeat

您可以通过将脚本粘贴到AppleScript编辑器并按Command-R来运行该脚本。我不需要任何延迟。

如果Finder尝试放回某些项目时,如果它显示一个密码对话框,请尝试将以下内容添加到代码tell application "System Events"块的末尾:

delay 1
if exists window 1 of process "SecurityAgent" then
    tell window 1 of process "SecurityAgent"
        set value of text field 2 of scroll area 1 of group 1 to "pa55word"
        click button 2 of group 2
    end tell
end if
delay 1

0

如果这是您在Finder中所做的最后一件事,则首选“撤消”。

GUI中没有内置的方式来执行您正在讨论的操作。

所有这些都假设您没有清空垃圾箱。


0

选择所有要放回文件- Apple Key+ A全选,然后在右键单击某个项目,然后选择Put Back。这将一次放回多个项目。


5
选择全部后,Put Back菜单将消失。
xdazz

我在OS X 10.7.5上,它向我显示。尝试一下-选择垃圾箱中的所有文件,然后右键单击“ Put Back”。
AC

4
当(且仅当)所有文件都来自完全相同的文件夹时,它才有效。尝试从不同来源删除文件-无法正常工作。i.stack.imgur.com/q56wI.png
slhck 2012年

是的-你是对的。我应该尝试更多的变化。谢谢。
AC

0

在垃圾箱中“放回”多个项目 https://gist.github.com/faresd/5661253


2
这看起来有点骇人听闻。您能否解释一下脚本的作用,以了解更多内容?非常感谢。
slhck

2
从我看到的内容来看,该脚本会尝试关闭Finder,直到将其关闭,然后将其重新打开到垃圾箱中,然后将其中的第一项放回垃圾箱。之后,它将关闭所有窗口,然后重复。该脚本使用系统事件,这是使用AppleScript进行某些操作的非常高的级别(最好在不接管计算机界面的情况下进行某些操作)。如果我是答复者,我会寻找一个较低级别的解决方案来做出贡献。
卡特·帕佩
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.