我正在写入〜/ Library / Logs / DocumentLogs /目录中的日志文件
我这样做:
--open and write logfile entries
set writetoTheThing to open for access theFile with write permission
write (logEntry & return) to writetoTheThing starting at eof
close access (writetoTheThing)
及其工作。日志文件写入....
正在打开文件"具有写入权限"并获取信息显示我是所有者等。
但是,事件日志显示:
活动: 打开访问别名" Macintosh HD:用户:lenny:Library:Logs:DocumentLogs:DocLog_2015_03.log"具有写入权限
事件结果显示:发生了权限违规(errAEPriviledgeError -10004)
我该如何解决这个问题?
TIA
答案 0 :(得分:0)
您是否具有该目录及其父目录的写权限?
我将使用错误编号包装一个try-on错误结束try块并使用错误编号,然后检查错误编号(如果有),并使用display alert e & " : " & n
显示它。
如果你正在创建文件,那么我也会从0开始使用,但我现在看不出有任何区别(但我有一个模糊的记忆,从eof开始,从1开始)。
如果你重新启动脚本编辑器,由于泄漏的文件句柄,如果你在设计处理程序时遇到一些运行时错误,也许会有所帮助。
答案 1 :(得分:0)
感谢所有这些好建议。但是,我确实从同事那里得到了一个我认为值得注意的答案。我确实获得了许可,而且eof不是问题。解决方案是将“打开”和“关闭”功能包装在“告诉我”中。这是针对当前流程中的脚本添加目标,并避免让Finder报告权限违规。
这有效:
告诉我 将writetoTheThing设置为打开以使用写入权限访问文件 将(logEntry& return)写入以eof开头的writetoTheThing关闭访问writetoTheThing 结束告诉
Mark Scriptger帮我解决了问题。他的计划是纯金......他也是支持者。 谢谢大家!