<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
最近發現 windows 上有一個好玩的東西,叫做 VBScript,可以用來自動執行一些操作。
先來看下最終效果吧!
以上就是一個簡單的 VBS 指令碼,執行時自動開啟 Chrome 瀏覽器,然後自動開啟了三個網頁:我的部落格,github,LeetCode官網。
這是筆者每天到公司啟動電腦時都會開的三個網頁。雖然儲存了書籤,每次開機也要點選七八下,一兩天不覺得有什麼,長期下來筆者感到非常浪費我的手指細胞!我的手指細胞是用來數錢的,可不是用來做重複工作的,這樣實在是太不程式設計師了。程式設計師就應該把重複的事情交給電腦!於是筆者發現了 VBScript 這個好東西。
從名字中的 Script 可以看出,它是一種指令碼語言,所謂指令碼,就是用來解放我們雙手的,讓我們用腳都可以程式設計!
——嗯,這段關於指令碼的解釋純屬吹水,手動狗頭防止小朋友誤解。
其實指令碼的本意是劇本,讓程式按照開發者寫好的“劇本”開始它的表演。
VBS 指令碼是一種直譯語言,直譯語言的意思是它執行的時候會自動給電腦解釋程式碼的意思,也就是不用安裝任何編譯環境,隨便咱們用什麼軟體寫都可以,比如記事本、word、Sublime、VSCode 啥的,只要儲存成 vbs 檔案即可單擊執行。
本例程式碼也很簡單,新建一個 vbs 檔案,名字隨便取,比如 robot.vbs,編輯如下:
Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run """C:Program Files (x86)GoogleChromeApplicationchrome.exe""" WScript.Sleep 3500 WshShell.SendKeys "https://blog.csdn.net/AlpinistWang" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WScript.Sleep 1500 WshShell.SendKeys "^t" WshShell.SendKeys "https://github.com" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WScript.Sleep 1500 WshShell.SendKeys "^t" WshShell.SendKeys "https://leetcode-cn.com" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WScript.Quit
OK,VBScript 大概就是這樣的了。其實 VBS 的作用並不僅限於此,它可以用來模擬開啟程式,模擬鍵盤輸入,所以可以做出很多好玩的功能。比如筆者的同事寫了一個自動連線 Cisco 的指令碼(每次都要手動輸入密碼要吐了,現在終於被解放出來了),還可以用來自動登入 QQ、微信之類的。感興趣的朋友們可以自行探索。
對多個程式的操作可以寫在同一個 vbs 檔案裡,只要在一個程式的自動化指令碼執行結束後,再次呼叫 WshShell.Run 啟動其他程式,就可以繼續操作其他程式了。筆者現在用的指令碼效果有:
還有一些功能涉及工作內容不方便透露,總之,想想每天到公司自己要做的初始化工作一鍵就能完成,是不是有點小激動呢(=,=)
附上筆者現在使用的 vbs 指令碼的一部分程式碼:
Set WshShell=WScript.CreateObject("WScript.Shell") ' 啟動 Chrome,開啟常用網址 WshShell.Run """C:Program Files (x86)GoogleChromeApplicationchrome.exe""" ' 等待程式啟動 WScript.Sleep 3500 WshShell.SendKeys "https://blog.csdn.net/AlpinistWang" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "^t" WshShell.SendKeys "https://github.com" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "^t" WshShell.SendKeys "https://leetcode-cn.com" WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" ' 每個程式的自動化指令碼結束後最好等待一會,給指令碼一點執行時間,否則輸入過快可能會影響後面的程式 WScript.Sleep 3500 ' 啟動 Typora WshShell.Run """D:wareTyporabintypora.exe""" WScript.Sleep 5000 ' 獲取當前日期的號數 dayString = day(now) ' 如果當前日期的號數只有一位數,前面補 0,湊成兩位。比如 01, 02, 03... 這樣做的目的是最終儲存的時候格式更好看 if len(dayString) = 1 then dayString = "0"&dayString ' 格式化日期,這裡生成的日期格式類似於 2019-12-01 Currentdate = year(Now)&"-"&Month(Now)&"-"&dayString ' MarkDown 語法,輸入日期大標題 WshShell.SendKeys "# "&Currentdate&"{Enter}" ' Ctrl + S 儲存 WshShell.SendKeys "^s" ' 等待一秒讓儲存彈窗彈出來 WScript.Sleep 1000 ' 不斷傳送 Tab 直到定位到輸入位址列 WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{TAB}" WshShell.SendKeys "{ENTER}" ' 定位到位址列後等待一秒,輸入過快可能會出錯 WScript.Sleep 1000 ' 輸入儲存的地址 WshShell.SendKeys "D:projectsgithubDailyNotes" ' 等待以便輸入完成 WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" ' 輸入地址後儲存彈窗會跳轉到地址所在資料夾,需要一點時間。這裡需要根據實際情況調整按鍵 WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WshShell.SendKeys "{ENTER}" WScript.Sleep 1000 WshShell.SendKeys "{ENTER}" WScript.Sleep 3500 ' 啟動 Android Studio WshShell.Run """D:wareAndroidStudiobinstudio64.exe""" ' 更多初始化功能 ' ... WScript.Quit
獲取當前日期:
CurrentDate = date()
預設的格式是月/日/年,也可以這樣自定義格式:
CurrentDate = year(Now)&"-"&Month(Now)&"-"&day(Now)
其中,CurrentDate 是變數名,名稱可以隨便起,&
號用來連線字串。
用彈窗彈出字串
msgbox "字串"
特殊字元 | VBS 表示 |
---|---|
SHIFT | + |
CTRL | ^ |
ALT | % |
退格鍵 | {BACKSPACE} 或 {BS} 或 {BKSP} |
BREAK | {BREAK} |
Delete | {Delete} 或 {DEL} |
向下鍵 | {DOWN} |
向上鍵 | {UP} |
向左鍵 | {LEFT} |
向右鍵 | {RIGHT} |
END | {END} |
ENTER | {ENTER} 或 ~ |
ESC | {ESC} |
TAB | {TAB} |
CAPS LOCK | {CAPSLOCK} |
HELP | {HELP} |
HOME | {HOME} |
Insert | {Insert} 或 {INS} |
NUM LOCK | {NUMLOCK} |
PAGE DOWN | {PGDN} |
PAGE UP | {PGUP} |
PRINT SCREEN | {PRTSC} |
SCROLL LOCK | {SCROLLLOCK} |
F1 | {F1} |
F2 | {F2} |
… | … |
F12 | {F12} |
Mac 上也有類似的指令碼語言,叫做 AppleScript,開啟 Mac 自帶的指令碼編輯器即可使用。
先看效果圖:
程式碼很簡單,開啟 Mac 自帶的指令碼編輯器,編輯如下:
tell application "Safari" activate tell window 1 set URL of current tab to "https://blog.csdn.net/AlpinistWang" set current tab to (make new tab with properties {URL:"http://www.github.com"}) set current tab to (make new tab with properties {URL:"https://leetcode-cn.com"}) end tell end tell
這就是 Windows 和 Mac 上各自的指令碼工具,熟練運用自動化指令碼,可以讓電腦更加的智慧!
以上就是教你編寫Windows的VBScript與Mac的AppleSCript指令碼解放雙手的詳細內容,更多關於Windows的VBScript與Mac的AppleSCrip的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45