1. 如何在mac程序代碼中調用AppleScript腳本
關於AppleScript
說到AppleScript,可能涉及到三個含義:
1.AppleScript語言:就是蘋果腳本的語言,用來編寫運行於Mac系統的腳本。
2.AppleScript腳本:就是使用AppleScript語言編寫的一系列指令。以後簡稱腳本。
3.AppleScript腳本解釋程序:用於解釋和執行AppleScript腳本中指令的程序。是Mac系統的原生程序和重要組成部分。下面簡稱AppleScript腳本程序。
AppleScript Editor
要編寫AppleScript腳本,當然就需要編輯工具了,首先打開AppleScript編輯器:
貌似可以使用Xcode編寫Cocoa - AppleScript Application,這個暫時還沒嘗試。我們先從AppleScript編輯器開始。
界面很簡單,主要分為工具欄、編輯區和運行結果區。編輯區用來編寫腳本,工具欄用來編譯和運行腳本等,運行結果區呈現運行結果,這個不用多說了吧。
say和beep
首先來玩兩件很好玩的事:讓Mac發音和說話。
在編輯區輸入以下腳本:
view sourceprint?
1.say "How are you?" using "Zarvox"
2.say "Fine, thank you." using "Victoria"
3.say "Ha Ha"
4.beep
點擊工具欄的編譯(或Command + K),可以看到腳本變了顏色,具體顏色的含義,可以在偏好設置中查看並設置:
接著點擊運行(Command + R運行,Command + .停止運行)。可以看到運行結果區的回復欄中的顯示如下:
更加好玩的是Mac系統在自然自語了,還有最後的一聲咚。
下面來解釋下腳本和運行結果的意思:
view sourceprint?
1.say "說話的內容" using "指定人的嗓音"
這句腳本的意思就是讓Mac系統按照指定人的嗓音說出我們指定的說話內容。當然using "..."是可以預設的。
view sourceprint?
1.beep 發聲次數
這句腳本的意思是讓Mac系統發出咚的聲音,發聲次數決定了咚出現的次數,例如beep 2那麼Mac會咚兩次。發聲次數預設為1。
在運行時回復輸出的意思是:
tell表明將以上say和beep的任務交付給current application去完成,也就是AppleScript腳本程序。
tell模塊
同樣道理,我們可以用tell模塊將特定的任務交付給Mac中特定的程序去執行。
tell模塊的語法為:
view sourceprint?
1.tell application "Application Name"
2.do your job here
3.end tell
例如我們想讓Finder程序清空垃圾簍然後打開磁碟,可以這樣寫:
view sourceprint?
1.tell application "Finder"
2.empty the trash
3.beep
4.open the startup disk
5.end tell
注意"Finder"的雙引號必不可少。
回復輸出為:
view sourceprint?
01.tell application "Finder"
02.empty trash
03.--> current application
04.--> error number 0
05.beep
06.--> error number -10004
07.end tell
08.tell current application
09.beep
10.end tell
11.tell application "Finder"
12.open startup disk
13.end tell
可以看到empty the trash任務是交給Finder程序去完成的,而beep任務是交給current application程序去完成,接下來的open the startup disk任務還是交回給Finder程序完成。
在tell模塊中的任意位置可以插入beep,say等由current application程序解釋執行的語句。
注意,交付給某個程序執行的語句必須在tell模塊之內。
錯誤寫法:
view sourceprint?
1.tell application "Finder"
2.empty the trash
3.beep
4.end tell
5.open the startup disk
編譯時可以看到沒有報錯,運行起來看看:
運行結果區的回復輸出如下:
view sourceprint?
01.tell application "Finder"
02.empty trash
03.--> current application
04.--> error number 0
05.beep
06.--> error number -10004
07.end tell
08.tell current application
09.beep
10.end tell
11.tell application "AppleScript Editor"
12.open startup disk
13.--> missing value
14.end tell
15.結果:
16.missing value
boot應該由Finder程序去打開,但是由於超出了tell applicaiton "Finder"模塊,所以給語句將交由AppleScript Editor程序解釋執行,很可惜,AppleScript編輯器無法打開boot,報錯。
AppleScript Editor的小技巧
1.使用esc鍵呼出代碼補全菜單
在寫te時按下esc鍵,此時出現代碼補全菜單:
2.在編輯區點擊右鍵(或按住control鍵再點擊左鍵)呼出上下文菜單
在上下文菜單中我們可以將AppleScript語句快速地插入到編輯區中,例如:
也可以將一段語句插入到Tell語句塊中,方法是先選中這段語句,再插入到Tell Blocks中:
3.編輯程序的補全和修正功能
你可以輸入:
view sourceprint?
1.tell app "Finder"
2.end
在編譯後將被替換為:
view sourceprint?
1.tell application "Finder"
2.end tell
在編寫AppleScript腳本時,是不區分大小寫的,當然在編譯過後也會被替換成正確的大小寫形式。
這些小技巧都非常有利於快速編寫腳本。
保存腳本
寫好了程序,當然是保存了。可以在菜單中點擊文件 —— 存儲(或按快捷鍵Command + S)。
在保存時有多種文件格式:
保存為腳本格式
如果保存為腳本,那麼下次打開文件時還是用AppleScript編輯程序來打開。桌面圖標如下:
保存為應用程序格式
如果保存為應用程序,那麼最好保留個腳本的,否則將不能用AppleScript Editor來打開編輯。
保存時的對話框如下:
如果選中「顯示啟動屏幕」,那麼以後運行程序前會彈出一個對話框提示:
如果選中「運行處理程序後保持打開」選項,那麼在程序運行完畢後會停留在Dock中。
保存的圖標和腳本格式不同,如下(少了個紙張背景):
2. 蘋果系統 MAC系統,怎麼在桌面創建一個script腳本, cd ~/Desktop vim script 上面兩句代碼時什麼意思
cd 表示改變工作路徑。到 主目錄下的Desktop目錄
vim 是一個文本編輯器。那句命令表示編輯名為 scipt文件。
它的意思就是,你可以用文本編輯器在桌面上新建一個名為 script的腳本。
3. 請問怎麼在OS X蘋果操作系統寫類似linux的腳本
#!/bin/bash
echo "eg: ./deletX username"
rm -rf /Users/$1/Library/Autosave\ lnformation/Unsaved\ Xcode*
echo "delete completed"
---------------
把以上代碼保存為 deleteX 文件,在命令行加上可執行許可權
chmod a+x deleteX
然後使用就輸入
./delete 你的用戶名
回車就ok
4. 高分懸賞!我想寫一個在mac系統下雙擊可執行的一個復制文件的腳本,該怎麼寫呢下面有描述
用Automator吧,蘋果自帶的workflow管理器
首先在Launchpad里打開automator(找不到就輸入這個單詞)
然後就會出來一個這樣的界面(我用的英文版,不懂英文看圖標就好了)
在第一個「獲取特定Finder項目」里,點裡面的「Add(添加)」,然後選擇你要復制的文件
在第二欄「復制Finder項目」里,選擇你要的復制的文件的目的地(/user/apple/desktop/2)
這時候試著點擊右上角的三角形(播放鍵)試試看這個流有沒有成功,如果成果的話就點
File(文件)->Convert to...(轉換成),在窗口裡選擇Application(應用)
轉換之後保存你這個流,記得在保存類型里選擇「應用」而不是「工作流」
以後你只要雙擊打開你保存的那個文件,就可以實現自動復制文件了
5. mac自帶的腳本編輯器怎樣編寫perl語言程序。
編譯器,嚴格來說是解釋器,perl是腳本語言,不需要編譯就可以運行
c語言需要編譯成exe才能運行;
編輯器是txt,notepad,ultraedit; sublime;單純的編輯文本的軟體。
推薦新手使用activeperl解釋器。
精通Perl
6. 蘋果電腦怎麼移除狀態欄的腳本編輯器
按下 command+空格 輸入腳本編輯器
7. mac如何編寫資料庫DDL腳本
OptionExplicit'===================以下定義用於獲得本機IP==================PrivateConstWSADescription_Len=256PrivateConstWSASYS_Status_Len=128PrivateTypeWSA_(WSADescription_Len+1)AsBytestrSystemStatus(WSASYS_Status_Len+1)"ws2_32.dll"(ByVal_wVersionRequired&,lpWSADataAsWSA_DATA)"ws2_32.dll"(ByValhostname$)"kernel32"Alias"RtlMoveMemory"(DestinationAsAny,SourceAsAny,ByVallengthAsLong)"ws2_32.dll"()AsLong'===================以上定義用於獲得本機IP=================='=====================以下定義用於獲得MAC===================="iphlpapi"(ByValdestAsLong,ByValhostAsLong,ByRefMacAsAny,ByReflengthAsLong)_addrLib"ws2_32.dll"(ByValcpAsString)AsLong'=====================以上定義用於獲得MAC===================='獲得指定IP地址的MAC地址,用到全局變數hostIpStr為本機IP地址'輸入:IP為本網內的IP地址字元串,函數返回MAC地址,若出錯返回空字元串FunctionGetMac(IPAsString)AsStringDimldestAsLong,lhostAsLong,Mac(5)AsByte,lengthAsLongDimiAsLong,lRAsLong,hostIpStrAsStringhostIpStr=GetMyIpGetMac=""'若得不到MAC!IfhostIpStr""Thenldest=inet_addr(IP)'//目的地的IP轉換為IP內碼形式lhost=inet_addr(hostIpStr)'//將本機IP轉換為IP內碼形式length=6lR=SendARP(ldest,lhost,Mac(0),length)Iflength>0ThenFori=0Tolength-1GetMac=GetMac&Right("00"&Hex(Mac(i)),2)NextiEndIfEndIfEndFunction'獲得本機IP地址,函數返回值=本機IP地址,若出錯返回空字元串FunctionGetMyIp()AsStringDimWSADAsWSA_DATADimlRAsLong,MyIpAsStringDimhostent__addrAsLongDimtemp_ip_address()AsByteDimiAsIntegerDimip_addressAsStringlR=WSAStartup(&H202,WSAD)IflR0Then'WSANOERRORThenMsgBox"啟動WSAStartup失敗!"GetMyIp=""ExitFunctionEndIfhostent_addr=gethostbyname("")Ifhostent_addr=0ThenGetMyIp=""'注釋:主機名不能被解釋,ByValhostent_addr,LenB(host)CopyMemoryhostip_addr,ByValhost.hAddrList,4ReDimtemp_ip_address(1Tohost.hLength)CopyMemorytemp_ip_address(1),ByValhostip_addr,host.hLengthFori=1Tohost.hLengthip_address=ip_address&temp_ip_address(i)&"."Nextip_address=Mid$(ip_address,1,Len(ip_address)-1)GetMyIp=ip__Click()DimiAsInteger,IPStrAsString,MACStrAsStringIPStr="192.168.0."'假設本區域網的網段為192.168.0.1到192.168.0.254Fori=1To254MACStr=GetMac(IPStr&i)'如果計算機開機,則MACStr為網卡的MAC號IfMACStr""ThenText1.SelStart=Len(Text1.Text)Text1.SelText="IP地址:"&IPStr&i&"MAC號:"&MACStr&vbCrLfEndIfNextiEndSub
8. 蘋果電腦瀏覽器腳本怎麼開啟
點擊內容設置的運行腳本選項。
點擊打開瀏覽器,點擊右邊的三橫線。點擊設置,點擊高級設置。點擊內容設置。選中允許運行腳本的選項。
9. 蘋果mac系統下如何編寫.sh腳本調用安裝的某個程序打開指定文件
你先找到應用程序里的一個macos文件夾,把裡面的可執行文件路徑弄下來 後面加上jsf文件的路徑
10. 請問在蘋果系統上如何實現autorun,詳細說腳本的編寫
在WIN下插入光碟直接運行程序是因為光碟中寫了一個自動運行的腳本或配置文件,一般為AUTORUN.INI。當你的系統設置為自動運行光碟時,系統才會自動播放配置文件中寫入的內容。
同樣的,如果你想讓光碟或者鏡像在MAC OS下自動播放,也要在光碟/鏡像中加入一個腳本才可以實現。自動播放功能是寫入在腳本文件中的,系統設置只是負責開啟/屏蔽這個功能而已。