有没有办法阻止 Mac OS X 在 NTFS 和 FAT 等外部卷上创建 .DS_Store 和其他隐藏的元文件?我在 Mac OS X 和 Windows 之间共享一个 NTFS 分区,其中包含 Thunderird 和 Firefox 的配置文件和 apache 的 DocumentRoot 等数据,这非常方便。我不介意 Mac OS X 无法索引或以其他方式执行这些元文件所要完成的巧妙任务。
注意:它不是通过网络共享的,两个操作系统和共享分区共存于同一台机器上的同一个磁盘上。
答案1
如果您通过网络共享 NTFS 分区,使用 SMB 或类似方式,则可以将其关闭。
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
Apple 技术简报“如何防止通过网络连接创建 .DS_Store 文件“。我尚未验证这是否仍适用于 Snow Leopard。
答案2
我曾经用过这个,当我遇到同样的问题时就设置了它。这种方法使系统自动完成所有操作。
打开终端,创建一个名为 Remove_Hidden_Files.sh 的脚本,例如 cd ~/Documents 并输入 touch Remove_Hidden_Files.sh
使用 vi 创建脚本。在终端中输入
vi Remove_Hidden_Files.sh
按“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
按 Esc 键退出插入模式,按住 Shift 键并按
:
输入
wq!
然后按 Enter使脚本可执行
chmod 775 ~/Documents/Remove_Hidden_Files.sh
测试一下以确保它能正常工作。您可以轻松完成此操作,方法是打开终端并输入 cd /Volumes/(xxx),按回车键,然后输入 ls -la 列出所有文件,您应该会看到一个 .DS_Store,如果没有,请使用查找器导航到该卷,然后重复该命令,您应该会看到一个。
按命令键和 N 打开另一个终端
类型
cd ~/Documents
类型
sh Remove_Hidden_Files.sh
转到另一个终端窗口并检查.DS_Store 文件是否已被删除。
创建启动守护进程。这意味着自动运行,这样您就不必执行任何操作。
最好的方法是下载 lingon
为您的用户帐户创建一个守护进程并将其命名为 com.remove_hidden_files.Launchd
在命令框中输入
sh ~/Documents/Remove_Hidden_Files.sh
您可以输入路径或浏览到 /Volumes/(xxx)
重启机器并尝试一下
请注意,如果您重命名外部驱动器,使用其他命名的驱动器或路径,则需要更改脚本。
答案3
我使用 BlueHarvest 来实现这个目的:
https://zeroonetwenty.com/blueharvest/
按照 Apple 的解决方案,它可以在所有卷上工作,而不仅仅是网络共享。