标签: vbscript

如何使用 VbScript 创建选项对话框?

我有一个第三方应用程序,它为某些操作调用 vsbscript 文件。我想提供一个带有选项选择的用户提示,可以是下拉列表或复选框等。但是,我只能找到输入框选项。

我不认为 HTA 是我的选择(除非有办法从 .vbs 文件中调用它们?)

我的另一个想法是某种 ActiveX 控件,但我找不到在 WindowsXP/Vista 上默认可用的内置控件。

有人对我如何实现这一目标有任何想法吗?

vbscript

4
推荐指数
1
解决办法
7万
查看次数

vbs cmd 路径空间

我希望能够从 vbs 脚本中调用以下 cmd 命令:

cmd Client\setupclient.exe /q /targetdir "c:\program files\Microsoft CRM"
Run Code Online (Sandbox Code Playgroud)

我想出了以下vbs脚本:

Set oShell = WScript.CreateObject ("WScript.Shell") 
oShell.Run "cmd /c Client\setupclient.exe /q /targetdir c:\program files\Microsoft CRM", 1, true
Run Code Online (Sandbox Code Playgroud)

就我而言,如果 targetdir 没有空格,例如 c:\bla,这将正常工作。然后该应用程序将安装在该特定文件夹中。

显而易见的问题是,我如何定义带有空格的 targetdir 作为路径位置。
我试图用 ' ' 包围它,但这对我不起作用。有什么建议?

干杯克里斯

vbscript cmd space path

4
推荐指数
1
解决办法
2万
查看次数

如何使用命令行回收远程计算机上的应用程序池

我在尝试从命令行运行的 vbs 文件中有以下内容:

strServerName = "ServerName"
strAppPoolName = "DefaultAppPool"
set objAppPools = GetObject("IIS://" & strServerName 
                                  & "/w3svc/AppPools/" & strAppPoolName & "")
objAppPools.Recycle()
Run Code Online (Sandbox Code Playgroud)

然而,当我从 cmd 行运行 vbs 时,我收到以下错误:

Microsoft VBScript 运行时错误:ActiveX 组件无法创建对象:“获取对象”_

我在本地机器上运行 XP,远程机器有 IIS 7。

我怎样才能让它发挥作用?

c# windows vbscript iis-7 application-pool

4
推荐指数
2
解决办法
2万
查看次数

VBScript 将日期转换为字符串

所以我有一个可能很简单的问题,但我找不到答案。

我正在编写一个 VBScript,它将子文件夹从一个文件夹移动到另一个文件夹。移动时,我想将日期附加到子文件夹名称上。我一切正常,只是我不知道如何将日期转换为字符串,以便将其添加到文件夹名称中。

curDate =  Month(Date) + "_" + Day(Date) + "_" + Year(Date) + "_" + Time

If  fs.FolderExists(rsltFldrPath) Then

'Grab folder and Subfolders
Set fldr = fs.GetFolder(rsltFldrPath)
Set subFldr = fldr.SubFolders

For each folder in subFldr
    moveTo = archFldrPath + "\" +folder.name + curDate
    fs.MoveFolder folder, moveTo
Next
End If
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。谢谢!

string vbscript date

4
推荐指数
1
解决办法
6万
查看次数

当没有文件时,InstallShield 使用 VBScript 和 CustomAction 删除文件失败

卸载以前的安装(我使用 InstallShield 2009 构建的)时,我想删除程序在卸载结束时所在的整个文件夹。我无法弄清楚如何使用自定义 Aaction 来做到这一点,因此使用下面的代码,我决定在安装开始后立即删除该文件。如果程序已经安装,这可以正常工作……但如果之前没有安装,它会抛出错误 1701,因为显然,该文件夹不存在!我不知道如何解决这个问题,而且我几乎不知道 VBScript。我开始尝试捕获错误以掩盖错误,但显然 VBScript 中不存在。

Dim fso, Folder2Delete
Folder2Delete =  "C:\Program Files\MyProgramDir"
Set fso = CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder(Folder2Delete)
Run Code Online (Sandbox Code Playgroud)

那么,如何将自定义操作粘贴到 InstallShield 中的卸载中,或者如何将 VB 脚本设置为仅删除存在的文件?或者最后一搏,我怎样才能让它在它不存在时不显示错误......?

非常感谢,这让我发疯了!

vbscript windows-installer installshield installshield-2009

4
推荐指数
1
解决办法
3994
查看次数

vbscript - 替换所有空格

我有 6400 多条记录在循环中。对于其中的每一个:我通过针对类似于邮局使用的内容(查找地址)的内容进行测试来检查地址是否有效。我需要仔细检查我撤回的邮政编码是否匹配。

唯一的问题是邮政编码可能以多种不同的格式输入,例如:

OP6 6YH
OP66YH
OP6  6YH. 
Run Code Online (Sandbox Code Playgroud)

If Replace(strPostcode," ","") = Replace(xmlAddress.selectSingleNode("//postcode").text," ","") Then

我想从字符串中删除所有空格。如果我执行上面的替换,它会删除第一个示例的空间,但为第三个示例保留一个空间。

我知道我可以使用循环语句删除这些,但相信这会使脚本运行非常缓慢,因为它必须循环遍历 6400 多条记录才能删除空格。

还有其他方法吗?

vbscript replace

4
推荐指数
1
解决办法
5万
查看次数

在 VBScript 中使用 MSHTML 解析 html 文件

我想在 VBScript 中使用 MSHTML 将字符串加载为 html 文件并解析它。我可以使用“InternetExplorer.application”执行此操作,但我想使用“htmlfile”(MSHTML.HTMLDocument)执行此操作

下面的代码:

Set h =  CreateObject("htmlfile")
h.body.innerHTML = "html goes here"
Run Code Online (Sandbox Code Playgroud)

给出这个错误:

Microsoft VBScript 运行时错误:需要对象:“body”

如何加载 html 字符串?

html vbscript activex runtime-error mshtml

4
推荐指数
1
解决办法
7811
查看次数

从另一个 .VBS 文件为类(驻留在 B.vbs 中)创建实例

我有 2 个 vbs 文件。

A.vbs

Class test
  public a
  public b
End Class
Run Code Online (Sandbox Code Playgroud)

B.vbs

Dim objShell
Set objShell = Wscript.CreateObject("WScript.Shell")
objShell.Run "C:\Users\shanmugavel.chinnago\Desktop\Test3.vbs" 

Dim ins
Set ins = new test 'Here throws "Class not defined: test"
ins.a = 10
ins.b = "SCS"

msgbox ins.a
msgbox ins.b
Run Code Online (Sandbox Code Playgroud)

现在我想在 B.vbs 文件中实现这个。但是在为 A.vbs 中可用的类创建实例时会引发错误。有什么帮助吗?

vbscript

4
推荐指数
1
解决办法
1万
查看次数

Vbscript Printscreen 到 MSpaint

拍摄活动窗口的屏幕截图。

Set Wshshell=CreateObject("Word.Basic")
WshShell.sendkeys"%{prtsc}"
WScript.Sleep 1500
Run Code Online (Sandbox Code Playgroud)

运行 Mspaint 并粘贴。

set Wshshell = WScript.CreateObject("WScript.Shell")
Wshshell.Run "mspaint"
WScript.Sleep 500

WshShell.AppActivate "Paint"
WScript.Sleep 500

WshShell.sendkeys "^(v)"
WScript.Sleep 1500
Run Code Online (Sandbox Code Playgroud)

在这里,对活动窗口进行截图的操作工作正常。另外,它以mspaint开头,但内容并未粘贴到paint文件中。

windows vbscript printscreen

4
推荐指数
1
解决办法
2万
查看次数

从 javascript/php 在服务器上运行 VBScript

我有一个用 JavaScript 和 PHP 编写的单页应用程序,我想在我的服务器上运行一个外部 .vbs 文件?

我曾尝试使用 php COM 类以及 exec() 无济于事。有没有人成功地做到了这一点?甚至有可能吗?

javascript php com vbscript

4
推荐指数
1
解决办法
5601
查看次数