0

我想使用 Cocoa 函数 removeItemAtPath 删除具有 AppleScript 部分中指定路径的文件夹,但不知道如何通过 AppleScriptObjC 来完成。

你能举个例子来帮助我吗?

4

1 回答 1

2

为什么不直接使用 AppleScript 来删除文件夹?

set theFile to "path:to:folder:"
tell application "System Events"
    delete disk item theFile
end tell

编辑:

根据评论,您需要在管理员级别执行此操作,并且您可以提示用户输入他们的凭据。您可以将所有这些放入一个 shell 脚本中。

如果您只需要密码,使用当前用户的用户名,这个超级用户问题显示 shell 命令是:

echo <password> | sudo -S <command>

这使您的代码:

set pass to text returned of (display dialog "Enter your password:" default answer "password" with hidden answer)
do shell script "echo " & quoted form of pass & " | sudo -S rm 'path/to/file'"

如果您需要在单独的管理员用户名下运行它,您可以添加一个对话框来获取用户名并-u在您的 shell 脚本中使用该标志:

set username to text returned of (display dialog "Enter your username:" default answer "username")
set pass to text returned of (display dialog "Enter your password:" default answer "password" with hidden answer)
set shellscript to "echo " & quoted form of pass & " | sudo -S -u " & quoted form of username & " rm 'path/to/file'"
于 2013-10-31T20:59:38.460 回答