如何在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 = 0Const 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 个文件夹复制到另一个文件夹
如何使用 Messagebox 在 Windows 7 任务调度程序中启动 VBS 脚本?