Audio applescript:使用Finder移动文件时避免声音

Audio applescript:使用Finder移动文件时避免声音,audio,applescript,move,Audio,Applescript,Move,我正在尝试用Applescript处理许多文件。这包括搬家 每个文件都被保存到一个工作目录中进行处理 当我的脚本执行时 tell application "Finder" move file to workdir end tell 它总是会发出声音,就像使用finder GUI dos移动文件一样 我怎样才能防止这种情况?该脚本可能会运行数小时,并且来自该脚本的持续叮当声会令人不安。我无法完全关闭声音,因为其他东西可能需要提醒我由于您明确表示我无法完全关闭声音,因为其他东西可能需要在

我正在尝试用Applescript处理许多文件。这包括搬家 每个文件都被保存到一个工作目录中进行处理

当我的脚本执行时

tell application "Finder"
    move  file to workdir
end tell
它总是会发出声音,就像使用finder GUI dos移动文件一样
我怎样才能防止这种情况?该脚本可能会运行数小时,并且来自该脚本的持续叮当声会令人不安。我无法完全关闭声音,因为其他东西可能需要提醒我

由于您明确表示我无法完全关闭声音,因为其他东西可能需要在OP中提醒我,我建议您使用System Events的磁盘文件夹文件套件中的move命令,因为它使用此方法不会发出任何声音

移动 v:将磁盘项移动到新位置。 移动磁盘项:要移动的磁盘项。 to location说明符:磁盘项的新位置。 → 磁盘项

例如:


您可以通过名为Volume Mount.aif的系统文件禁用声音。一种非破坏性的方法是将文件移动到另一个位置。移动文件需要根权限

要执行此命令,还需要禁用系统完整性保护:

您可以通过在终端中键入以下命令来移动它:

sudo mv /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/system/Volume\ Mount.aif ~/Desktop/
要将其移回,请执行以下操作:

sudo mv ~/Desktop/Volume\ Mount.aif /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/system/

需要重新启动声音才能再次工作。

OP明确指出,我无法完全关闭声音,因为其他事情可能需要提醒我,并且考虑到系统事件提供了一种不发出任何声音的方法,因此绝对没有必要进行这种繁琐的操作。它只会禁用1声音,不完全禁用声音。我只是把它列为一种选择,因为OP可能不希望在使用finder时有这种声音,而不是只在脚本运行时才有这种声音。作为记录,我没有否决你的答案,但我认为你真的没有抓住重点!坦率地说,你所建议的替代方案是可笑的,特别是考虑到在AppleScript的上下文中已经有了一个合适的答案。您所说的移动文件是一个系统文件,用于在Finder中移动文件时发出的声音。OP还提到这是一个长时间运行的过程,所以他/她可以在Finder中执行脚本运行时的其他操作,那么为什么要破坏系统呢!我无意破坏任何人的系统。有些人不喜欢这种声音,从来不想听。如果我是其中之一,我可能会禁用它,但我接受你关于applescript上下文的观点。那么可能应该删除这个答案。
sudo mv ~/Desktop/Volume\ Mount.aif /System/Library/Components/CoreAudio.component/Contents/SharedSupport/SystemSounds/system/