复制文件并用applescript替换系统文件

时间:2013-12-12 17:36:19

标签: copy applescript

所以现在我正在尝试将自定义.globalpreferences.plist复制到系统文件中。它位于/ Users // Library / Preferences /。我有它来显示我的系统文件,所以我可以将它移动到一个不存在的文件,但我似乎无法替换实际的文件。继承人到目前为止我所拥有的

tell application "Finder"
     duplicate POSIX file "/.GlobalPreferences.plist" to POSIX file "/Users/<username>/Library/Preferences/" with replacing
end tell

我可能必须使用shell,但我不知道如何确保它替换文件。

2 个答案:

答案 0 :(得分:1)

您可能希望使用unix shell执行此操作

在AppleScript中看起来像:

使用管理员权限执行shell脚本“cp path / to / file / GlobalPreferences.plist /Users//Library/Preferences/GlobalPreferences.plist”

希望这有帮助!

答案 1 :(得分:1)

duplicate命令似乎不能替换以句点开头的文件名。这也会导致错误:

mkdir /tmp/dir;touch /tmp/.a /tmp/dir/.a
osascript -e 'tell app "Finder"
duplicate POSIX file "/tmp/.a" to POSIX file "/tmp/dir"'
end'

作为解决方法,只需使用do shell script

do shell script "cp /path/to/.GlobalPreferences.plist ~/Library/Preferences"

using administrator privileges不需要。