2013-10-14 36 views
0

我需要使用automator啓動和停止一個小型服務器,但我的知識非常有限。我無法設置文件的路徑,我不知道如何停止服務器。在Automator中運行applescript

到目前爲止,我有這樣的:

上運行

set r to display dialog "Start or stop the NINJAM server ?" buttons {"Stop", "Start"} 

if button returned of r is "Start" then 

    #tell application "Terminal" 
    # activate 

    do shell script "cd \"/Applications/ MUSIC/ Utilities/Audio IP/NINJAM/NINJAM/NinjamOSXServer ./ninjamsrv Server.cfg\"" 

    #end tell 
else 

    do shell script "Stop" 

end if 

運行結束

任何幫助真的apprectated。提前致謝。

回答

0

請注意,我在這裏使用我自己的路徑 - 我將ninjam服務器文件夾放在我的應用程序文件夾的頂層。 我不得不創建一個「術語」的文件,這是與這個文本文件在裏面:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>WindowSettings</key> 
    <array> 
     <dict> 
      <key>ExecutionString</key> 
      <string>cd /Applications/NinjamOSXServer/;./ninjamsrv config.cfg</string> 
     </dict> 
    </array> 
</dict> 
</plist> 

我保存這個作爲LaunchNinjamSrvr.term並把它放在同一文件夾中ninjamsrvr。然後使用的腳本是:

set r to display dialog "Start or stop the NINJAM server ?" buttons {"Stop", "Start"} 

if button returned of r is "Start" then 
    do shell script "open /Applications/NinjamOSXServer/LaunchNinjamSrvr.term" 
else 
    do shell script "killall -INT -v ninjamsrv" 
end if 

[發生在我身上,我應該給一些解釋。直接使用帶「config.cfg」參數的完整路徑會導致'do shell script'扼殺。分裂成兩個命令(但仍然使用do shell腳本),就像你在.term文件中看到的那樣,它可以啓動ninjamsrv,但是使腳本編輯器(我使用Smile)凍結。所以這是(大概 - 我不想通過其他手段[腳本應用程序等]測試它)的問題,爲什麼我訴諸使用.term文件。它曾經是,你可以,從終端的文件菜單(我記得),直接保存一個.term文件,但似乎倒在路邊。所以,在這一點上,我有一個我使用的模板,並將命令粘貼到適當的行中。 (但請參閱http://discussions.apple.com/thread/3139585?start=0&tstart=0 - 其中介紹了導出終端首選項文件的技術)。我有點懶惰,因爲新的表單是.terminal,而不是.term ...無論如何... 所以現在剩下的就是執行實際的AS腳本。 'open'是一個基本的命令行命令,就像在Finder中打開或雙擊一樣。如果由於某種原因,您的文件在錯誤的應用程序中打開或者無法打開,您可能需要將其映射到Terminal.app(在獲取信息窗口中)和/或將擴展名更改爲最新的'。終奌站'。 killall就像殺人一樣,旨在以各種方式殺死進程。我選擇了-INT,因爲這基本上就像做一個控制c來中斷這個過程。]

+0

非常感謝你,現在工作正常。 –

+0

很高興提供幫助。隨意投票的解決方案爲'最佳答案':-) – CRGreen

+0

或者,我想我的意思是'標記爲正確' – CRGreen

相關問題