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


17

有没有一种方法可以防止Mac OS X在外部卷(例如NTFS和FAT)上创建.DS_Store和其他隐藏的元文件?我在Mac OS X和Windows之间共享一个NTFS分区,其中包含Thunderird和Firefox的配置文件以及apache的DocumentRoot等数据,这非常方便。我不介意Mac OS X无法索引或以其他方式完成这些图元文件的用途。

注意:它不是通过网络共享的,操作系统和共享分区都共存于同一台磁盘上,并且在同一台计算机上。

Answers:


19

如果要通过网络使用SMB或其他类似方式共享NTFS分区,则可以将其关闭。

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Apple技术公告“ 如何防止通过网络连接创建.DS_Store文件 ”。我尚未验证这是否仍适用于Snow Leopard。


除非它们实际上在网络驱动器上,否则我不确定该方法是否有效。
亚历克斯

@alex我认为你是对的。OP没有透露他如何共享NTFS分区。我将编辑我的答案,但这可能完全是错误的。
理查德·霍斯金斯

不,不是通过网络。仅一个磁盘,一个分区中的Mac OS,另一个分区中的Windows,以及用于共享文件的NTFS分区。
Petruza

PS:对不起,OP代表什么?我知道它是指我,但不知道含义。
Petruza

1
@Richard Hoskins:您的答案是指阻止通过网络创建.DS_Store文件。如果它在同一驱动器上,则无法停止它。@sudo petrutza:OP表示原始海报(也不知道)
alex

5

我用这个,当我因同样的问题而烦恼时就设置了一次。这种方法使系统自动完成所有操作。

  1. 通过打开终端,例如cd〜/ Documents,创建一个名为Remove_Hidden_​​Files.sh的脚本,然后键入touch Remove_Hidden_​​Files.sh

  2. 使用vi创建脚本。在终端类型vi Remove_Hidden_Files.sh

  3. 按“ I”进入插入模式并键入以下内容(提示以#按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. 按Escape键退出插入模式并按住Shift键并按 :

  5. 键入wq!,然后按Enter

  6. 使脚本可执行 chmod 775 ~/Documents/Remove_Hidden_Files.sh

  7. 测试一下,以确保它可以正常工作。您可以通过打开终端并键入cd / Volumes /(xxx)并按回车键,然后通过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. 重新启动机器并尝试

请注意,如果您重命名外部驱动器,请使用其他命名的驱动器或路径来更改脚本。


6
我喜欢这个答案如何成为vim教程。哈哈
macek 2010年


那么这种清洗何时会发生?当您登录时?
LarsH

4

我将BlueHarvest用于此目的:

https://zeroonetwenty.com/blueharvest/

根据Apple的解决方案,它可以在所有卷上运行,而不仅仅是网络共享。


仅供参考,BlueHarvest是一个Mac程序,三台计算机的价格为15美元(更多计算机的价格为更多美元),并且具有“ 30天免费试用”
Xen2050,2017年

上面链接的BlueHarvest网站目前没有响应,这似乎意味着支持不可用。但是,该应用程序在App Store中。
LarsH

我已经更新了网址。
Asinine Monkey '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.