Articles of vbscript

远程窗口上临时文件夹的位置

如何确定远程Windows机器上的临时文件夹的位置? 我可以使用它连接到它 objSWbemLocator.ConnectServer(strComputer, _ "root\cimv2", _ strUser, _ strPass) 提前致谢!

VBscript在一定的时间范围内检查文件是否存在(能够使用通配符)

大家早上好,我一直在试图把一个VB脚本放在一起,当脚本被读取时,VB脚本会从用户那里获取一个文件path和一个文件名(可能有一个通配符)。 然后,脚本会检查指定的目录,find与提供的文件名相匹配的文件,然后查看上次修改的date,以查看它是否在特定时间范围内(即上午6点加上或减去5分钟)被创build/修改。 然后它会将所述文件复制到一个zip文件中。 到目前为止,我已经能够得到参数的工作,并且我已经设置了抓取当前时间,查看文件夹中的文件,并将硬编码的文件名与文件夹中的文件名匹配。 这是我迄今为止。 currentTime = Now() filePath = Wscript.Arguments.Item(0) fileName = Wscript.Arguments.Item(1) Set fileSystem = CreateObject("Scripting.FileSystemObject") Set directory = fileSystem.GetFolder(filePath) For each file in directory.Files If file.Name = fileName Then Wscript.echo file.Name & " " & file.DateLastModified end if Next 我是VB脚本noob,我期待着学习的方式! CAP3

在主驱动器和所有驱动器的根目录中查找特定文件夹附加vbs

我想寻找一个特定的文件夹,可能在Windows 7机器的主驱动器的根目录或任何连接到它的USB驱动器的根目录。 我宁愿用vbscript或者hta(而不是htaac​​cess)来使用vbscript。 恩。 我需要find文件夹“xyz”。 它可以在这里:C:\ xyz或D:\ xyz或者Z:\ xyz等。我不在乎它是否在这里:c:\ Users \ Joe \ xyz或者F:\ folder1 \ xyz。 如果search只集中在每个驱动器的根文件夹,我认为search会相当快。

在VBScript中获取命令行输出(不写入文件)

我正在使用VBScript,我的目标是能够用一个驱动器号替代我select的path。 我需要D盘,如果没有,我需要检查它是否已经映射到正确的位置; 然后通知用户如果不是。 我发现这个: http : //technet.microsoft.com/en-us/library/ee156605.aspx我试图调整他们的第二个例子: Set objShell = WScript.CreateObject("WScript.Shell") Set objExecObject = objShell.Exec("cmd /c ping -n 3 -w 1000 157.59.0.1") Do While Not objExecObject.StdOut.AtEndOfStream strText = objExecObject.StdOut.ReadLine() If Instr(strText, "Reply") > 0 Then Wscript.Echo "Reply received." Exit Do End If Loop (我的改编): Set objShell = WScript.CreateObject("WScript.Shell") Set objExecObject = objShell.Exec("cmd /c substr") strText […]

VBScript中Msgbox的替代方法

我想在基于VBS的login脚本运行后显示状态信息。 我可以简单地使用一个消息框,但是宁愿在用户login后短暂地在这个时钟之上出现这个信息。 我有什么替代scheme,而不是一个消息框?

VBS /批量检查下载是否完成

是否有任何方式使用VBS的默认选项(没有WGet ,PowerShell等)来检查下载的文件是否完全100%下载? 我正在使用的脚本成功下载文件,但我不知道如何检查文件是否100%下载,并没有find一种方法来使用默认的Windows(7/8)function(没有必须启用自定义function)。 或者,如果在VBS脚本中使用批处理(或者其他任何默认的Windowsfunction),这也是可以接受的。

WshShell.AppActivate似乎不能在简单的vbs脚本中工作

总vbs脚本newb在这里。 我试图自动closures某个打开的窗口,即一个名为HostsMan的程序。 这是在Windows 8.1 Pro 64位,这是我的脚本目前的样子: Set WshShell = CreateObject("WScript.Shell") WshShell.AppActivate "HostsMan" WshShell.SendKeys "%{F4}" 第二行似乎不工作。 我知道第3行工作,因为它激活Windows关机菜单。 有什么我失踪? 更新/更多信息:手动inputALT-F4确实closures了,所以我知道这应该工作。 我也testing了这个脚本与其他打开的窗户,他们closures就好了。 另外,HostsMan是以pipe理员权限打开的,所以我试着把脚本作为一个具有最高权限的任务来运行,看看是否会这样做,而且还是不行。 但是,这与其他使用pipe理权限运行的打开的窗口一起工作。 令人沮丧!

从WMI ExecQuery获取第一条logging

我有一个简单的VBScript检索Windows版本: Set objWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set colVersions = objWMI.ExecQuery("Select * from Win32_OperatingSystem") For Each objVer in colVersions ver = objVer.Version Next 是可以得到第一个logging,或者我必须循环集合中的所有logging。 我见过的所有例子都是For Each构造。 我收到预期的语句错误结束时,我尝试: ver = colVersions[0].Version 它看起来像ExecQuery的返回值不是一个适当的集合。

使用VBScript将XMLstring直接写入XML文件

我的操作系统是Windows 7 64位。 我需要通过使用VBScript将下面的XMLstring和解释的dynamic内容一起写入XML文件(也维护制表符缩进): 文件名: [Variable1]_[Variable2].xml <?xml version="1.0"?> <config> <modules> <[Variable1]_[Variable2]> <active>true</active> <codePool>[Variable3]</codePool> <version>[Variable4]</version> </[Variable1]_[Variable2]> </modules> </config> 我所能做的就是在脚本下面一个接一个地创build各种标签和元素。 scriptDir = CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName) Set xmlDoc = CreateObject("Msxml2.DOMDocument.3.0") Set objRoot = xmlDoc.CreateElement("config") xmlDoc.AppendChild objRoot Set objRecord = xmlDoc.CreateElement("modules") objRoot.AppendChild objRecord Set objName = xmlDoc.CreateElement("Mageweb_ShippingFilter") objName.Text = "" objRecord.AppendChild objName Set objDate = xmlDoc.CreateElement("AuditDate") objDate.Text = Date objRecord.AppendChild objDate […]

捕获VBScript中的任何错误?

我有一个调用VBScript(.vbs)程序的batch file。 调用它之后,我的批处理脚本检查%errorlevel%来查看.vbs程序是否失败。 我可以使用WScript.Quit(1)在.vbs程序中用退出代码表示失败。 但是,我只能明确地做到这一点。 如果发生意外的运行时错误,.vbs会退出,并出现错误对话框, 但退出代码为零,所以我的batch file认为它已经成功! 我如何改变这种行为? 如果你想说,使用on error goto ,不要打扰…该语法是在常规的VB中可用,而不是在VBScript中。