2010-02-05 92 views
0
defaults write com.apple.finder AppleShowAllFiles ON 

现在,它的工作原理如何使用Applescript访问Finder中的隐藏文件?

tell application "Finder" to get folder ".spring" of home 
#folder ".spring" of folder "username" of folder "Users" of startup disk of application "Finder" 

...

defaults write com.apple.finder AppleShowAllFiles OFF 

现在不

tell application "Finder" to get folder ".spring" of home 
#Can’t get folder ".spring" of folder "username" of folder "Users" of startup disk of application "Finder" 

我需要将文件复制到该位置。

回答

2

如果可能,我会在这种情况下避免Finder。 do shell script应该能够做你想做的。

tell application "Finder" 
    set fileToMove to choose file 
    set targetPath to "~/.spring" 
    set moveCmd to "mv '" & (POSIX path of fileToMove) & "' " & targetPath 
    do shell script moveCmd 
end tell 
+0

使用bash是丑陋的,但我想它是有效的。我希望你可以做一些像“告诉finder获取隐藏文件”或其他系统事件的技巧。 – Pepijn 2010-02-07 16:50:13

+0

确实如此,但我发现通常使用Applescript是最可靠的方法。在这种情况下,Finder会明确禁止看到不可见的文件(通过隐藏的'defaults'设置),因此无法访问该文件夹似乎是API设计者所期望的。 – 2010-02-08 18:54:44