首先来总结一下这三种脚本分别最适合的方向: AutoHotKey:桌面交互自动化
Powershell:系统管理与复杂自动化
VBSript:老旧系统兼容与极简操作
AutoHotKey#
最终目的:使用快捷键来简化人们的手动操作(如鼠标点击,键盘输入)。
使用方式:
首先下载AutoHotKey到我们的电脑上。
在本地按照AutoHotKey的语法编写完ahk脚本文件后,双击后,启动脚本文件,其加载后常驻后台,热键随时可用,几乎零延迟。
然后就可以使用快捷键来使用该脚本文件编写的任务。
具体任务:
- 可以自定义全局热键来实现任务(最常用的用途)。
例如:我编写了一个使用快捷键“ctrl+J”即可弹窗展来示目标任务的.ahk文件,编写保存完该脚本后,直接双击该脚本文件,然后可以在全局使用快捷键“ctrl+J”来调用脚本文件实现任务。
下面的所有任务,也都是编写脚本定义一个来执行该脚本的快捷键;双击该脚本后,该脚本就会常驻后台。然后使用快捷键执行任务。
- 重复操作自动化
例如:自动填写网页表单(固定输入账号 / 密码);游戏 / 办公中重复点击某位置(也是使用自定义的快捷键来调用)
- 窗口精细化控制
例如:一键关闭所有弹窗;指定窗口置顶 / 隐藏 / 调整大小;多窗口分屏排列(如左边浏览器、右边记事本)。
- 轻量 GUI 小工具开发
例如:编写无编译的快捷启动面板(点击按钮打开不同工具)。
- 系统轻量操作辅助
例如:屏蔽键盘某按键;修改鼠标滚轮速度;自动切换输入法。
PowerShell#
使用方式:
无需下载,windows自带,在powershell终端输入命令使用,或者将整个文件保存为.ps1然后在终端使用./name.ps1命令来执行该powershell文件。
- 文件操作(类似于Linux中的文件操作)
例如:
- 找出桌面最近7天修改的文件并按大小排序:
ls ~/Desktop -File -Recurse | ? { $_.LastWriteTime -gt (Get-Date).AddDays(-7) } | sort Length -Descending
批量改文件的后缀名
快速查看文件的内容
使用cat命令查看文件中固定行数的内容
找出所有 .ps1 脚本里包含 “api_key” 的行:
sls *.ps1 -Pattern "api_key" -List
- 系统信息的快速查询(比图形化操作更快速)
- 测试 HTTPS 是否通:
tnc ``google.com`` -Port 443
- 吃cpu前10的进程:
Get-Process | sort CPU -Descending | Select -First 10
- 与网络与下载相关的
- 下载图片或文件
curl "``https://example.com/image.jpg``" -OutFile "D:\pic.jpg"(将豆包官方的头像图片,下载到本地路径)
- 调用API–下面这个例子是调用公开的API从而获得信息。
- 定时任务:
- 每5秒看一次进程是否启动
while ($true) { if (Get-Process notepad -EA 0) { "Notepad 已经开了!" } ; sleep 5 }
- 输出美化/结果留存(让输出结果更好看、将输出记录保存)
- 展示cpu使用排行(使用一个新建窗口来展示记录):
Get-Process | Select Name,Id,CPU,WorkingSet | Sort CPU -Desc | Out-GridView -Title "Top Processes"
VBScript#
VBScript 脚本(.vbs 文件)是 Windows 内置的轻量脚本,无额外依赖,但微软已弃用,推荐迁移到powershell,仅适合遗留场景。
使用方式:
无需下载,在使用之前需要确保你的windows电脑已经开启该功能。编写完.vbs文件后(注意编码方式选用ANSI不要选择UTF-8,否则会编译报错),直接双击该文件,即可运行。
如下面的hello.vbs文件双击运行后,会自动跳转到bilibili的官网。
VBS的最常见的日常用途:
- 弹出带输入框的问候 + 当前时间(最经典的“Hello World”升级版)
MsgBox "今天是 " & Date & vbCrLf & "现在时间:" & Time & vbCrLf & "欢迎回来!", 64, "每日问候"
一键清空回收站(很多人桌面常放这个)
给某个网站创建“快捷方式”(网站跳转,点击后直接跳转到该网页):就是我们在最上面我首先说明的Bilibili网站跳转。
关机倒计时。
批量重命名文件夹内的文件