題 如何防止Mac OS X在非Mac(HFS)卷上創建.DS_Store文件?


有沒有辦法阻止Mac OS X在外國卷如NTFS和FAT上創建.DS_Store和其他隱藏的元文件? 我在Mac OS X和Windows之間共享一個NTFS分區,其數據包括Thunderird和Firefox的配置文件以及apache的DocumentRoot,這非常方便。 我不介意Mac OS X是否無法索引或以其他方式處理這些元文件所需的整潔內容。

注意:它不是通過網絡共享的,操作系統和共享分區在同一台機器上共存於同一磁盤上。


16
2017-09-28 12:56


起源




答案:


如果您通過網絡共享NTFS分區,使用SMB或其他類似的分區,則可以將其關閉。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Apple技術公告“如何防止通過網絡連接創建.DS_Store文件“我還沒有證實這仍然適用於Snow Leopard。


18
2017-09-28 13:12



我不確定它是否有效,除非它們實際上在網絡驅動器上。 - alex
@alex我認為你是對的。 OP尚未說明他如何共享NTFS分區。我會編輯我的答案,但可能是錯誤的。 - Richard Hoskins
不,不是通過網絡。僅一個磁盤,一個分區中的Mac OS,另一個分區中的Windows,以及共享文件的NTFS分區。 - Petruza
PS:對不起,OP代表什麼?我知道它指的是我,但不知道其含義。 - Petruza
@Richard Hoskins:您的答案是指阻止通過網絡創建.DS_Store文件。如果它在同一個驅動器上,則無法阻止它。 @sudo petrutza:OP意味著 原始海報 (也不知道) - alex


我使用這個,當我對同樣的問題感到惱火時,我設置了一次。該方法使系統自動完成所有操作。

  1. 通過打開終端創建一個名為Remove_Hidden_​​Files.sh的腳本,例如cd~ / Documents並鍵入touch Remove_Hidden_​​Files.sh

  2. 使用vi創建腳本。在終端類型中 vi Remove_Hidden_Files.sh

  3. 按“I”進入插入模式並鍵入以下內容(提示#press alt和3)

    #!/bin/bash
    # Removing the hidden files from my drive using the find command. Change xxx to the name of your external volume or path you wish to run the command on.
    # the -mount will stop the find command going to other volumes other than specified.
    
    find -x /Volumes/(xxx) -mount -name '.DS_Store' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Spotlight-V100' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '._.Trashes' | xargs rm -rf
    find -x /Volumes/(xxx) -mount -name '.fseventsd' | xargs rm -rf
    
  4. 按下退出以退出插入模式並按住shift並按下 :

  5. 類型 wq! 然後按Enter鍵

  6. 使腳本可執行 chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. 測試一下以確保它有效。您可以通過打開終端並鍵入cd / Volumes /(xxx)按Enter鍵然後輸入ls -la列出所有文件來輕鬆完成此操作,如果沒有使用finder導航到卷,您應該看到.DS_Store然後重複命令你應該在那裡看到一個。

  8. 按命令鍵和N打開另一個終端

  9. 類型 cd ~/Documents

  10. 類型 sh Remove_Hidden_Files.sh

  11. 轉到另一個終端窗口並檢查.DS_Store文件是否已刪除。

  12. 創建一個啟動守護程序。這意味著自動運行,因此您無需執行任何操作。

    最好的方法是下載lingon

  13. 為您的用戶帳戶創建一個守護進程,並將其命名為com.remove_hidden_​​files.Launchd

  14. 在命令框中鍵入 sh ~/Documents/Remove_Hidden_Files.sh

  15. 您可以輸入路徑或瀏覽到它/ Volumes /(xxx)

  16. 重新啟動機器並試用

請注意,如果重命名外部驅動器,請使用更改腳本所需的其他命名驅動器或路徑。


5
2017-09-16 18:49



我喜歡這個答案如何成為一個vim教程。哈哈 - macek
您可以添加Mac註銷腳本,而無需使用支付第三方應用程序 sudo defaults...  seeskill.wordpress.com/2012/02/23/... - mcandre
這樣的清潔會在什麼時候發生?你登錄時? - LarsH


我為此目的使用BlueHarvest:

https://zeroonetwenty.com/blueharvest/

根據Apple的解決方案,可以在所有捲上運行,而不僅僅是網絡共享。


4
2017-09-16 20:42



僅供參考,BlueHarvest是一款Mac計劃,3台電腦的售價為15美元(更多電腦需要更多電腦),還有“30天免費試用” - Xen2050
上面鏈接的BlueHarvest網站目前沒有響應,這似乎意味著支持不可用。但是該應用程序位於App Store中。 - LarsH
我已經更新了網址。 - Asinine Monkey