菜鸟科技网

VBS命令如何打开指定文件或程序?

VBS (VBScript) 是一种脚本语言,它本身没有像 cmd 那样的“命令”,而是通过对象和方法来执行操作,最核心的对象是 WScript.Shell,它允许我们与 Windows 的命令行环境进行交互。

VBS命令如何打开指定文件或程序?-图1
(图片来源网络,侵删)

核心概念:WScript.Shell 对象

要执行“打开”这类操作,我们首先需要创建一个 WScript.Shell 对象的实例,这就像拿到了一个可以指挥电脑的遥控器。

' 创建 WScript.Shell 对象
Set objShell = CreateObject("WScript.Shell")

我们使用这个对象的 Run 方法来运行程序或打开文件。


打开文件 (用关联程序)

这是最常见的用法,VBS 会根据文件的扩展名(如 .txt, .docx, .jpg),自动调用系统默认的程序来打开它。

语法: objShell.Run "文件路径"

VBS命令如何打开指定文件或程序?-图2
(图片来源网络,侵删)

示例 1:打开一个文本文档 假设你的 test.txt 文件在 D:\MyFiles 目录下。

Set objShell = CreateObject("WScript.Shell")
' 注意:路径中的反斜杠 \ 在 VBS 中需要转义,写成两个 \\
filePath = "D:\MyFiles\test.txt"
objShell.Run filePath
' 清理对象,释放内存
Set objShell = Nothing

如何运行这个脚本?

  1. 将上面的代码复制到记事本中。
  2. 点击“文件” -> “另存为”,将文件类型选择为“所有文件”,然后命名为 openfile.vbs (后缀必须是 .vbs)。
  3. 双击 openfile.vbs 文件,它就会用默认的文本编辑器(如记事本)打开 D:\MyFiles\test.txt

打开文件夹 (文件资源管理器)

如果你想打开一个文件夹,而不是文件,可以使用 explorer.exe 这个程序。

语法: objShell.Run "explorer.exe 文件夹路径"

VBS命令如何打开指定文件或程序?-图3
(图片来源网络,侵删)

示例 2:打开 D 盘的 MyFiles 文件夹

Set objShell = CreateObject("WScript.Shell")
folderPath = "D:\MyFiles"
' 使用 explorer.exe 来打开文件夹
objShell.Run "explorer.exe " & folderPath
Set objShell = Nothing

打开网址 (默认浏览器)

打开网址和打开文件夹类似,我们调用系统的默认浏览器。

语法: objShell.Run "网址"

示例 3:打开 Google 主页

Set objShell = CreateObject("WScript.Shell")
url = "https://www.google.com"
' 直接运行网址字符串,系统会用默认浏览器打开
objShell.Run url
Set objShell = Nothing

打开“运行”对话框并输入命令

这个功能非常强大,你可以模拟在 Windows + R 后输入命令并回车的效果。

语法: objShell.Run "cmd /c 命令"

或者直接运行命令: objShell.Run "命令"

示例 4:打开命令提示符并切换到 D 盘

Set objShell = CreateObject("WScript.Shell")
' /c 表示执行完命令后关闭窗口
' /k 表示执行完命令后保持窗口打开
objShell.Run "cmd /k cd /d D:\"
Set objShell = Nothing

示例 5:打开计算器

Set objShell = CreateObject("WScript.Shell")
objShell.Run "calc"
Set objShell = Nothing

高级选项:Run 方法的第二个参数

Run 方法的完整语法是 objShell.Run(command, [window_style], [wait_on_return])

  • command: 你要运行的命令或文件路径。
  • window_style (可选): 控制窗口如何显示,这是一个数字。
    • 0 : 隐藏窗口并激活其他窗口。
    • 1 : 激活并显示窗口(正常状态)。
    • 2 : 激活窗口并将其最小化。
    • 3 : 激活窗口并将其最大化。
    • 默认值通常是 17,但 1 是最常用的。
  • wait_on_return (可选): 布尔值 (True/False),如果设为 True,脚本会等待程序执行完毕后再继续,如果设为 False (默认),脚本会立即继续执行下一行代码。

示例 6:以最小化方式打开记事本

Set objShell = CreateObject("WScript.Shell")
' 第二个参数 2 表示最小化窗口
objShell.Run "notepad", 2, False
Set objShell = Nothing

完整示例:一个多功能选择器

这个例子会弹出一个对话框,让你选择要执行的操作。

Set objShell = CreateObject("WScript.Shell")
' 创建一个消息框,提供三个选项
' vbYesNoCancel + vbQuestion 是按钮和图标的样式
' 6 表示用户点击了“是”
' 7 表示用户点击了“否”
' 2 表示用户点击了“取消”
answer = MsgBox("请选择要执行的操作:" & vbCrLf & _
                "是 - 打开记事本" & vbCrLf & _
                "否 - 打开 D 盘" & vbCrLf & _
                "取消 - 退出脚本", _
                vbYesNoCancel + vbQuestion, "VBS 打开示例")
If answer = vbYes Then
    ' 用户点击了“是”
    objShell.Run "notepad"
ElseIf answer = vbNo Then
    ' 用户点击了“否”
    objShell.Run "explorer.exe D:\"
Else
    ' 用户点击了“取消”,什么都不做
    WScript.Echo "您取消了操作。"
End If
Set objShell = Nothing
任务 VBS 代码示例 说明
打开文件 objShell.Run "D:\data\report.docx" 用默认程序打开文件。
打开文件夹 objShell.Run "explorer.exe D:\data" 用文件资源管理器打开文件夹。
打开网址 objShell.Run "https://www.bing.com" 用默认浏览器打开网址。
运行命令 objShell.Run "calc" 打开计算器。
窗口样式 objShell.Run "notepad", 2, False 以最小化方式打开记事本,脚本不等待。
带参数运行 objShell.Run "mspaint.exe D:\image.jpg" 用画图程序打开指定图片文件。

希望这个详细的解释能帮助你理解和使用 VBS 来执行“打开”操作!

分享:
扫描分享到社交APP
上一篇
下一篇