我需要重命名并填充大约 70 个 USB 记忆棒。在插入 Applescript 时自动运行它们会更简单。
问问题
4896 次
1 回答
6
您连接到 OS X 机器的任何外部驱动器都安装到/Volumes
. 如果您查看该文件夹的更改,您可以选择添加的外部驱动器并处理这些。运行此代码:
property ignoredVolumes : {"Macintosh HD", "Time Machine Backups"} -- add as needed
tell application "System Events"
set rootVolume to disk item (POSIX file "/Volumes" as text)
set allVolumes to name of every disk item of rootVolume
repeat with aVolume in allVolumes
if aVolume is not in ignoredVolumes then
set name of disk item (path of rootVolume & aVolume) to newName
end if
end repeat
end tell
将重命名不在您ignoredVolumes
列表中的驱动器(拔下除您想忽略的驱动器之外的所有驱动器,ls /Volumes
在终端中运行并将名称添加到属性中)到newName
. 要在每次更改时触发此功能,请将代码修改为保持打开脚本应用程序:
property pollIntervall : 60 -- in seconds
property ignoredVolumes : {…} -- from above
on run
my checkVolumes()
end run
on idle
my checkVolumes()
return pollInterval
end idle
on checkVolumes()
tell … end tell -- from above
end checkVolumes
并将其保存在AppleScript 编辑器中(选择“AppleScript 应用程序”,确保勾选“保持打开”)。一旦启动,脚本将继续运行,on idle
每秒执行一次处理程序pollInterval
。
如果您基本上是在做一个偶尔一次的批处理作业,这会很好。如果您想要一个不依赖于运行保持打开的脚本应用程序的更永久的解决方案,您可以
- 将文件夹操作脚本附加到
/Volumes
文件夹(向Philip Regan 在Ask Different上的提示;有关如何在此 Mac OS X 提示帖子中配置操作的详细信息) - 优点是您严格处理添加到/Volumes
, 或 - 通过
launchd
创建一个具有StartOnMount
键设置为的 LaunchAgent 来使用true
- 这将触发每次安装文件系统时代理启动的脚本/应用程序(向Daniel Beck 在Ask Different的提示;有关详细信息,请参阅Apple 的技术说明 TN2083)。
于 2012-05-11T15:42:41.993 回答