2010-07-09 41 views
1

Finder使用某種規則來確定項目是否可以移動或將被複制。拖動項目後,在某些情況下,Finder會顯示一個拖動副本光標。 API中的這些規則是否可用?使用Spotlight-Metadata,NSURL和NSFileManager進行檢查:無結果。Mac OS X文件/文件夾管理:何時複製而不是移動

這就是我想出了:

  • 如果一個文件夾中包含一個「.localized」文件:如果一個文件夾是在NSSearchPathDirectory

任何地方列出的文件夾複製

  • 我的假設是否正確?或者它與NSURLIsSystemImmutableKey或NSURLIsUserImmutableKey,我認爲是「鎖定」標誌?

    此外根據各種其他元數據等寫權限和鎖定標誌:

    ON SOURCE:

    • 移動只讀文件:舉動能夠
    • 移動只讀文件夾需要登錄從管理員

    • 移動鎖定文件創建副本

    • 移動鎖定的文件夾創建一個副本
    • 一個文件夾移動與內鎖定的文件:此舉可能
    • 移動既鎖定和解鎖項的選擇會創建一個副本

    • 移動的Dropbox只寫文件夾:此舉可能

    • 只寫文件並不在Finder中

    • 存在移動文件沒有任何權限:此舉是可能的(如轉移權限取決於enclo唱文件夾)

    • 的文件夾與文件移動沒有任何權限:此舉是可能的(只要它一動,對複製它要求登錄)

    • 如果一個文件夾中包含一個「.localized」文件:該文件夾被複制

    • 如果某個文件夾列在NSSearchPathDirectory(主目錄,...的任何位置,...)它被複制

    • 如果一個文件夾包含另一本書:此舉可能

    目標:

    • 移動的項目到Dropbox的創建副本
    • 移動的項目到一個鎖定的文件夾中:不可能
    • 將項目移動到只讀文件夾中:要求登錄
  • 回答

    0

    *)關於Finder:如果文件或目錄被從一個卷拖到另一個捲上,它將(默認情況下)被複制。如果在同一捲上執行操作,則文件或文件夾將(默認情況下)被移動。作爲對捲進行文件操作的一個便箋:再次在不同文件系統中「移動」事物的行爲不同。通常情況下,移動文件或目錄並不意味着之後會「複製」和「刪除」原始文件 - 只有文件系統中的鏈接通常會被修改,但在這個時候,它的行爲完全如此。

    *)此外,照顧對象權限:如果文件系統對該源文件或目錄的權限(及其內容)不允許對其執行寫操作,則會再次進行復制。

    +0

    謝謝你的回答。關於寫入權限的第二點並不完全正確:可以在沒有寫入權限的情況下移動文件。它依賴於封閉的文件夾。我在我的問題中增加了更多發現。所以顯然沒有API在實際執行之前找到它。 Apple文檔說:嘗試,然後優雅地處理錯誤。 – 2010-07-14 09:28:11

    相關問題