【发布时间】:2009-01-08 13:14:55
【问题描述】:
我正在尝试将文件从我的 mac 复制到网络驱动器。复制文件时,会在目标位置创建一个空文件,并提示我可能需要输入管理员密码才能更改名为“无论我的文件名是什么”的文件。当我按继续时,密码对话框显示它是 com.apple.desktopservices 要求输入密码。
从我看到的情况来看,首先创建了一个空文件,然后提示我输入密码。输入密码后,将删除空文件并创建另一个文件。内容就是写入这个文件的。
任何想法为什么会发生这种情况?
谢谢。
附:该文件具有完全的读写权限
【问题讨论】:
-
你是如何复制文件的?您使用的是
NSFileManager,还是与 Finder 对话的 AppleScript,还是什么? -
彼得,我使用的是 NSFileManager,但主要是 BSD 函数,如读、写、创建等。
-
NSFileManager 有方法来进行复制。看developer.apple.com/documentation/Cocoa/Reference/Foundation/…:。这需要 Leopard,但还有一种 pre-Leopard 方法。
-
我主要使用 BSD 函数来创建、读取和写入文件。我正在使用这个程序来跨文件系统编写。
-
它应该可以跨卷正常工作。你已经说过你主要使用 BSD 函数——你不需要重复自己。也就是说,如果您出于某种原因坚持不使用 Cocoa,请尝试使用 copyfile 功能。