如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”相关的知识,希望对你有一定的参考价值。

参考技术A

选择文件对话框代码:

Set objDialog = CreateObject("UserAccounts.CommonDialog") 
objDialog.Filter = "All Files|*.*" 
objDialog.InitialDir = "C:\\" 
intResult = objDialog.ShowOpen 
If intResult = 0 Then 
Wscript.Quit 
Else 
Wscript.Echo objDialog.FileName 
End If

选择文件夹对话框代码:

Const WINDOW_HANDLE = 0 
Const OPTIONS = 0 
Set objShell = CreateObject("Shell.Application") 
Set objFolder = objShell.BrowseForFolder _ 
(WINDOW_HANDLE, "选择文件夹:", OPTIONS, "C:\\") 
If objFolder Is Nothing Then 
Wscript.Quit 
End If 
Set objFolderItem = objFolder.Self 
objPath = objFolderItem.Path 
Wscript.Echo objPath

本回答被提问者采纳

如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?

【中文标题】如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?【英文标题】:How to start a VBS-script in Windows 7 task scheduler with Messagebox? 【发布时间】:2012-02-14 02:28:59 【问题描述】:

我正在使用 Win7 x64 Professional,并尝试使用 Windows 任务调度程序运行 VBS 脚本。我的问题是,该脚本的行为与直接启动的脚本完全不同,即使我以高权限启动它并使用相同的用户。

我注意到的一件事是,例如,无法在屏幕上输出任何消息框。

在 Windows XP 下,我记得有一个选项叫做“允许与桌面交互”,它解决了很多这些问题,但我在 Win7 上找不到这些选项。

我也尝试运行 Wscript.exe,并将脚本文件作为命令行选项传递,但这会导致脚本根本没有启动,即使任务调度程序说它已正确启动。

您能否解释一下在 Win7 中启动 VBS 的最佳方式是什么,以便与直接在资源管理器中启动的脚本具有相同的行为?

【问题讨论】:

如果你能解决这个问题,你能给我们更新吗? 【参考方案1】:

您应该使用CScript.exe 而不是WScript.exe,这样WScript.Echo 之类的命令将输出到控制台而不是对话框。正如您所指出的,计划任务应避免 MessageBox 或任何可能导致脚本阻塞的 UI 元素。

我建议您按如下方式安排您的脚本:

C:\Windows\System32\CScript.exe //Nologo //B X:\PathToYourScript\YourScript.vbs

我为您选择的选项是“防止徽标显示”和“批处理模式”。通过在命令提示符上运行 CScript /? 来查阅您的在线帮助。

【讨论】:

应该添加任何参数并在需要的文件夹中开始【参考方案2】:

刚刚发布这个 b/c 我在语法上挣扎了一段时间... 每个人都说要使用 .bat 在任务调度程序中运行 .vbs...

.bat 文件不需要!但是...精美的印刷品:

从任务调度程序运行 vbs - 制作快捷方式/ .lnk 或直接调用。

!!注意!! 文件路径中不允许使用引号,文件路径中不允许使用空格。 因此,在 vbs 路径/名称已经确定的情况下,创建满足这些规则的快捷方式通常更容易。

【讨论】:

以上是关于如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Windows 批处理文件或 vbs 脚本一次将多个文件 1 从 2 个文件夹复制到另一个文件夹

怎么在游戏中使用vbs脚本

vbs 脚本 复制文件中遇到的错误

如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?

在 windows xp 中检测到 Internet 连接后如何启动 vbs 脚本? [关闭]

在后台启动文件时,如何使此 vbs 脚本接受参数?