Mac OS X 文件/文件夹管理:何时复制而不是移动

发布于 2024-09-09 00:39:15 字数 1024 浏览 5 评论 0原文

Finder 使用某种规则来确定项目是否可以移动或复制。拖动项目后,在某些情况下,Finder 会显示拖动复制光标。 API 中的这些规则可用吗?使用 Spotlight-Metadata、NSURL 和 NSFileManager 检查:没有结果。

这就是我想到的:

  • 如果文件夹包含“.localized”文件:
  • 如果文件夹在 NSSearchPathDirectory 中的任何位置列出,则

复制该文件夹我的假设正确吗?或者与 NSURLIsSystemImmutableKey 或 NSURLIsUserImmutableKey 有关,我认为这是“锁定”标志?

此外,取决于各种其他元数据,例如写入权限和锁定标志:

ON SOURCE:

  • 移动只读文件:移动是可能的
  • 移动只读文件夹需要从管理员登录

  • 移动锁定的文件会创建副本

  • 移动锁定的文件夹会创建副本
  • 移动内部包含锁定文件的文件夹:可以移动
  • 在锁定的情况下移动所选内容且未锁定的项目会创建一个副本

  • 移动 Dropbox 只写文件夹:可以移动

  • Finder 中不存在只写文件

  • 在没有任何权限的情况下移动文件:可以移动(因为移动权限取决于封闭的文件夹)

  • 在没有任何权限的情况下移动包含文件的文件夹:可以移动(只要是移动,复制就要求登录)

  • 如果文件夹包含“.localized”文件:该文件夹被复制

  • 如果文件夹在 NSSearchPathDirectory(主目录,...)中的任何位置列出,则复制该文件夹

  • 如果文件夹包含另一本书:可以移动

目标:

  • 将项目移动到保管箱中会创建一个复制
  • 将项目移动到锁定文件夹中:不可能
  • 将项目移动到只读文件夹中:要求登录

The Finder uses some kind of rules to determine if an Item can be moved or will be copied. After dragging an Item, in certain cases Finder shows a drag-copy-cursor. Are these rules in an API available? Checked with Spotlight-Metadata, NSURL and NSFileManager: no result.

Here's what i came up with:

  • if a Folder contains a ".localized" File: the folder is copied
  • if a Folder is listed anywhere in a NSSearchPathDirectory

Is my assumption right? or has it to do with NSURLIsSystemImmutableKey or NSURLIsUserImmutableKey which i thought is the "Locked" flag?

Furthermore depending on various other Metadata like write-permissions and locked-flag:

ON SOURCE:

  • moving a readonly file: move is possible
  • moving a readonly folder needs login from an admin

  • moving a locked file creates a copy

  • moving a locked folder creates a copy
  • moving a folder with a locked file inside: move is possible
  • moving a selection with both locked and unlocked items creates a copy

  • moving a dropbox writeonly folder: move is possible

  • writeonly files do not exist in Finder

  • moving a file without any permissions: move is possible (as the move rights depend on the enclosing folder)

  • moving a folder with a file without any permission: move is possible (as long its a move, for copy it asks for login)

  • if a Folder contains a ".localized" File: the folder is copied

  • if a Folder is listed anywhere in a NSSearchPathDirectory (home directory, ...) it is copied

  • if a folder contains another book: move is possible

ON TARGET:

  • moving an item into a dropbox creates a copy
  • moving an item into a locked folder: not possible
  • moving an item into a read-only folder: asks for login

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巷子口的你 2024-09-16 00:39:15

*) 关于 Finder:如果将文件或目录从一个卷拖到另一个卷,则会(默认情况下)复制该文件或目录。如果在同一卷上执行该操作,则文件或文件夹将(默认情况下)被移动。作为卷上文件操作的旁注:跨不同文件系统“移动”内容的行为再次不同。通常,移动文件或目录并不意味着随后“复制”和“删除”原始文件或目录 - 通常只是修改它们在文件系统中的链接,但有时,它的行为实际上与此完全相同。

*)此外,请注意对象权限:如果该源文件或目录(及其内容)的文件系统权限不允许对其进行写入操作,则它将再次复制。

*) Regarding the Finder: if a file or directory is being dragged from one volume to another, it will (by default) be copied. If the action is being performed on the same volume the file or folder will (by default) be moved. As a side note to file operations on volumes: 'moving' things across different filesystemes behaves differently, again. Normally, moving a file or directory doesn't mean 'copying' and 'deleting' the original afterwards - only their links within the filesystem usually become modified but here and then, it actually behaves exactly like that.

*) Furthermore, take care of the objects permissions: if filesystem permissions to that source file or a directory (and it's content within) doesn't allow write operations to it, it will be copied again.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文