我是 applescript 的完全新手,我的新外部备份硬盘使我有必要使用它。由于它非常嘈杂,我想编写一个脚本来安装磁盘(如果它已卸载),运行备份然后再次弹出备份磁盘(代码 A)。到目前为止,一切都很好。为了在备份完成后弹出磁盘,我找到了一段代码来检查进程是否仍在运行(代码 B)。如果备份进程 (backupd) 仍然存在,则返回 1,如果完成,则返回 0。
我现在正在努力将这两部分结合起来。我希望代码 B 在备份开始后继续检查 backupd 是否仍在运行,如果完成,请转到下一步并弹出磁盘。
我只是无法让代码 B 在代码 A 中运行,而且所需的循环也让我有点困惑。非常感谢任何帮助!我无法想象这对我的想象力来说太棘手了感谢您帮助我恢复和平与宁静
代码 A:
set myVolumeLabel to "Time Machine"
tell application "Finder"
set diskDev to do shell script "diskutil list | grep \"" & myVolumeLabel & "\" | grep -o > 'disk[0-9]*' "
if not (disk myVolumeLabel exists) then
do shell script "diskutil mountDisk " & diskDev
do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-> helper >/dev/null 2>&1 &"
(* Checking if the backupd process is still running should go here I suppose.*)
else
do shell script "diskutil eject /Volumes/'Time Machine' " & diskDev
end if
end tell
代码 B
on check_process(marker)
set the_processes to (do shell script "ps -A")
return (the_processes contains marker)
end check_process
if check_process("/backupd") then
set x to "1"
else
set x to "0"
end if
---display dialog x buttons {"OK"} default button 1
Mac OS X (10.6.8)