教你编写Windows的VBScript与Mac的AppleSCript脚本解放双手 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
一、Windows ?—— VBScript最近发?windows 上有一个好玩的东西,叫?VBScript,可以用来自动执行一些操作?/p> 1、效果图先来看下最终效果吧?/p>
以上就是一个简单的 VBS 脚本,运行时自动打开 Chrome 浏览器,然后自动打开了三个网页:我的博客,github,LeetCode官网?/p> 这是笔者每天到公司启动电脑时都会开的三个网页。虽然保存了书签,每次开机也要点击七八下,一两天不觉得有什么,长期下来笔者感到非常浪费我的手指细胞!我的手指细胞是用来数钱的,可不是用来做重复工作的,这样实在是太不程序员了。程序员就应该把重复的事情交给电脑!于是笔者发现了 VBScript 这个好东西?/p> 2、VBS 简?/h3>从名字中?Script 可以看出,它是一种脚本语言,所谓脚本,就是用来解放我们双手的,让我们用脚都可以编程?/p>
——嗯,这段关于脚本的解释纯属吹水,手动狗头防止小朋友误解?/p> 其实脚本的本意是剧本,让程序按照开发者写好的“剧本”开始它的表演?/p> VBS 脚本是一种解释型语言,解释型语言的意思是它运行的时候会自动给电脑解释代码的意思,也就是不用安装任何编译环境,随便咱们用什么软件写都可以,比如记事本、word、Sublime、VSCode 啥的,只要保存成 vbs 文件即可单击运行?/p> 3、代码实?/h3>本例代码也很简单,新建一?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
4、代码详?/h3>
OK,VBScript 大概就是这样的了。其?VBS 的作用并不仅限于此,它可以用来模拟打开程序,模拟键盘输入,所以可以做出很多好玩的功能。比如笔者的同事写了一个自动连?Cisco 的脚本(每次都要手动输入密码要吐了,现在终于被解放出来了),还可以用来自动登?QQ、微信之类的。感兴趣的朋友们可以自行探索?/p> 对多个程序的操作可以写在同一?vbs 文件里,只要在一个程序的自动化脚本执行结束后,再次调?WshShell.Run 启动其他程序,就可以继续操作其他程序了。笔者现在用的脚本效果有?/p>
还有一些功能涉及工作内容不方便透露,总之,想想每天到公司自己要做的初始化工作一键就能完成,是不是有点小激动呢???br />附上笔者现在使用的 vbs 脚本的一部分代码?/p> 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:wareTyporain ypora.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:wareAndroidStudioinstudio64.exe"""
' 更多初始化功?
' ...
WScript.Quit
5、其他语?/h3>获取当前日期?/p>
默认的格式是??年,也可以这样自定义格式?/p>
其中,CurrentDate 是变量名,名称可以随便起?code>&号用来连接字符串?/p> 用弹窗弹出字符串
6、附:VBS 特殊字符表格
二、Mac ?—— AppleScriptMac 上也有类似的脚本语言,叫?AppleScript,打开 Mac 自带的脚本编辑器即可使用?/p> 1、效果图先看效果图:
2、代码实?/h3>代码很简单,打开 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
3、代码详?/h3>
这就?Windows ?Mac 上各自的脚本工具,熟练运用自动化脚本,可以让电脑更加的智能! 以上就是教你编写Windows的VBScript与Mac的AppleSCript脚本解放双手的详细内容,更多关于Windows的VBScript与Mac的AppleSCrip的资料请关注脚本之家其它相关文章?/p> |