我有一个使用“SKProgressbar”的应用。我希望在其中运行的第二个shell脚本的进程中有10个基于的进度条增量。我不确定这是否可行。我在下面提供了脚本。我是新手。
on open adisk
set terminalcommand to "cd " & quoted form of (POSIX path of adisk) & " ; find . -name '.DS_Store' -type f -delete"
do shell script terminalcommand
set xxx to "cd " & quoted form of (POSIX path of adisk) & " ; find * -type f -exec md5 -r {} \\; > *New_File.md5"
set iconPath to ((path to me) as text) & "Contents:Resources:droplet.icns"
tell application "SKProgressBar"
activate
set floating to false --> default is true
set position to {500, 550} --> default is {1000, 750}, origin point is bottom left
set width to 400.0 --> default is 500.0
set title to "CreateMD5"
set header to "Processing..."
set header alignment to center
set footer to "" --> default is empty string
set footer alignment to center --> default is left
-- image path can be HFS or POSIX path, default is missing value (no image)
set image path to iconPath
tell progress bar
set minimum value to 0.0 --> default is 0.0
set maximum value to 100.0 --> default is 100.0
set current value to 0.0 --> default is 0.0
end tell
set show window to true --> default is false
tell progress bar
set indeterminate to false --> default is true
start animation
increment by 10.0
do shell script xxx
stop animation
end tell
quit
end tell
activate
display dialog " MD5 Complete!" with icon 1 buttons {"Close", "Open Directory"} cancel button 1 default button 2
tell application "Finder"
open adisk
end tell
end open
对此的任何帮助都会很棒。如果简单的答案是否定的,那么我将继续前进并尝试解决问题。
答案 0 :(得分:0)
我不熟悉SKProgressbar的工作原理,但是如果它在脚本结束后没有重置所有内容,你能不能扭转整个过程?而不是试图从applescript中运行bash脚本,为什么不制作一个仅仅增加一个条形的AppleScript,然后让bash脚本在整个代码中调用它?
例如
#/Users/user_name/Desktop/update_progbar.scpt
on run()
tell application "SKProgressBar"
activate
tell progress bar
increment by 10.0
end tell
end tell
end
然后
#!/bin/bash
#/Some/Location/my_bash_script.sh
for x in {1..10}; do
#do stuff here
osascript /Users/user_name/Desktop/update_progbar.scpt
done