我的汽车立体声音响可以播放USB闪存驱动器中的音乐,因此我问有关从iTunes播放列表复制MP3的问题。效果很好,但是我的立体声无法播放MP3文件。最终,我将闪存驱动器放入运行Windows 7的工作计算机中,然后发现了问题:._[filename].mp3还加载了许多格式的隐藏文件。
我知道在Windows中,您可以基于属性删除文件,我想知道您是否可以在Terminal中执行相同的操作?可能使用可以将Volume作为参数运行的脚本吗?
我的汽车立体声音响可以播放USB闪存驱动器中的音乐,因此我问有关从iTunes播放列表复制MP3的问题。效果很好,但是我的立体声无法播放MP3文件。最终,我将闪存驱动器放入运行Windows 7的工作计算机中,然后发现了问题:._[filename].mp3还加载了许多格式的隐藏文件。
我知道在Windows中,您可以基于属性删除文件,我想知道您是否可以在Terminal中执行相同的操作?可能使用可以将Volume作为参数运行的脚本吗?
Answers:
这些文件在OS X中是隐藏的,因为它们以开头,.因此默认情况下不在Finder中显示。除此之外,这些文件中没有设置特殊的属性。
一种非常简单的方法是删除所有以点和下划线开头的文件:
find /Volumes/<your-volume-name> -name '._*' -type f -delete
安全说明:运行该提示时不-delete查看将要删除的文件。而且永远不要在整个Mac HD上执行此操作,而只能在USB驱动器上执行此操作。
有关其他信息:这些文件称为“资源叉”,有时包含您不想删除的信息。在您的用例中,那应该没问题。您可以使用BlueHarvest永久禁用这些文件的创建。还有一个应用程序声称可以清理它们的体积,但是我还没有尝试过它,它是Beta版,因此请谨慎使用:Hidden Cleaner。
我的汽车立体声音响系统存在完全相同的问题,无法播放1个文件/ 2,因为播放器认为MAC OS创建的点文件是一个音乐文件...然后我发现这篇文章非常有用,谢谢。
因此,我现在返回针对Mavericks的改进的免费解决方案:
使用此脚本:
on run {input, parameters}
try
tell application "Finder" to set allDrives to the name of every disk whose local volume is true and startup is false
set driveName to {choose from list allDrives with title "DiskCleaner" with prompt "Disk to Clean and Eject:" OK button name "Clean and Eject" cancel button name "Abort"} as text
set getDriveIdentifier to "diskutil info " & quoted form of driveName & " | grep Ident | awk '{print $3}'"
set driveIdentifier to do shell script getDriveIdentifier
try
do shell script "find /Volumes/" & quoted form of driveName & " -name '.DS_Store' -type f -delete"
do shell script "find /Volumes/" & quoted form of driveName & " -name '.FBC*' -type f -delete"
do shell script "find /Volumes/" & quoted form of driveName & " -name '._*' -type f -delete"
do shell script "rm -rf /Volumes/" & quoted form of driveName & "/.{,_.}{fseventsd,Spotlight-V*,Trashes}"
display notification "Disk Cleaned"
on error
try
do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '.DS_Store' -type f -delete" with administrator privileges
do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '.FBC*' -type f -delete" with administrator privileges
do shell script "sudo find /Volumes/" & quoted form of driveName & " -name '._*' -type f -delete" with administrator privileges
do shell script "sudo rm -rf /Volumes/" & quoted form of driveName & "/.{,_.}{fseventsd,Spotlight-V*,Trashes}" with administrator privileges
display notification "Disk Cleaned"
on error
display notification "Can't Clean, Permission Denied"
end try
end try
delay 1
try
do shell script "diskutil eject " & driveIdentifier
display notification "Disk Ejected"
on error
display notification "Can't Eject, Disk in Use"
end try
on error
display notification "No Disk to Clean and Eject"
end try
end run
例如,将应用程序另存为DiskCleaner.app
该脚本将要求您选择要清洁并弹出的USB磁盘。然后它将清理USB磁盘(如果当前凭据失败,请尝试使用管理员凭据),然后尽可能弹出。
当然,仍有一些地方需要改进,我自己做了这个脚本!
您还可以灵活地添加代码行以清理更多文件。
请享用!
{input, parameters}从第1行删除(仅保留on run),则可以在OSX10.12.1上为我工作。@Konrad:我打开了“脚本编辑器”,进行了上述编辑,并作为应用程序保存到/ Applications;任务完成。我喜欢能够准确看到正在发生的事情,这与其他免费解决方案比较棘手。
如果终端使您害怕,您还可以使用Automator完成相同的操作:

该脚本用于删除USB驱动器中的隐藏文件或目录。 https://github.com/ulasyurtsever/delete-hidden-files-or-directories