我有一个调用VBScript(.vbs)程序的批处理文件.调用它之后,我的批处理脚本会检查%errorlevel%.vbs程序是否失败.我可以通过.vbs程序中的退出代码发出故障信号WScript.Quit(1).
但是,我只能明确地这样做.如果发生一些意外的运行时错误,.vbs将退出并显示错误对话框,但是退出代码为零,因此我的批处理文件认为它已经超过!我该如何改变这种行为?
如果您正在考虑说,请使用on error goto,不要打扰...语法在常规VB中可用,但在VBScript中不可用.
假设我在VBScript中创建了一个动态数组
Dim myArray()
Run Code Online (Sandbox Code Playgroud)
稍后我如何检查这个数组从未被标注过尺寸?
Ubound(myArray) 'sub script out of range
Lbound(myArray) 'sub script out of range
IsEmpty(myArray) 'returns false
Run Code Online (Sandbox Code Playgroud) 在VBScript中,是否FormatDateTime有ISO 8601支持?
如果没有,我将如何编写这样的功能呢?
例如:
Response.Write FormatAsISO8601(#05/04/2011#)
Function FormatAsISO8601(datetime)
...
End Function
Run Code Online (Sandbox Code Playgroud) 我正在尝试从vbs查询SQL数据库,但是当没有找到记录时,我收到错误
ADODB.Field:BOF或EOF为True,或者当前记录已被删除.请求的操作需要当前记录.
我想我需要使用IF NOT语句来捕获是否找不到记录,但我无法弄清楚它需要去哪里.
Do Until objFile.AtEndofStream
strAppName = objFile.ReadLine
ConnString="DRIVER={SQL Server};SERVER=aardvark002;UID=***;PWD=***;DATABASE=DEW_Users"
SQL = "USE Win7AppData SELECT " & Chr(34) & strCountry & Chr(34) & " FROM AppsByCountry WHERE Application = '" & strAppName & "'"
Set Connection = CreateObject("ADODB.Connection")
Set Recordset = CreateObject("ADODB.Recordset")
Connection.Open ConnString
Recordset.Open SQL,Connection
strApproval = Recordset(strCountry)
If StrApproval = "YES" Then
strApproval = "Approved"
Else
strApproval = "Denied"
End If
objExcel.Cells(intRow, 1).Value = strAppname
objExcel.Cells(intRow, 2).Value = strCountry
objExcel.Cells(intRow, 3).Value = strApproval
intRow = intRow …Run Code Online (Sandbox Code Playgroud) 我有一个我写的VBScript需要从MSI文件执行.当我在Windows中独立运行脚本时,脚本会正确执行,但是,当我从安装程序运行它时,我会收到以下错误,如日志文件中所示:
Microsoft VBScript runtime error: object required: 'WScript', Line 3, Column 2
Run Code Online (Sandbox Code Playgroud)
脚本如下:
sub shell(cmd)
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("""" & cmd & """")
Set objShell = Nothing
end sub
set objFSO = CreateObject("Scripting.FileSystemObject")
strcmd32 = "C:\Path\PathToExecutable.exe"
strcmd64 = "C:\Path\PathToExecutable64.exe"
if (objFSO.FileExists(strcmd32)) then
shell(strcmd32)
else
shell(strcmd64)
end if
set objFSO = Nothing
Run Code Online (Sandbox Code Playgroud)
如前所述,如果我在安装程序的上下文之外运行它,则此脚本运行正常.安装项目类型是VS2010安装和部署包(这是客户希望使用的,我不能使用任何其他东西).有任何想法吗?
我在经典的asp网站上遇到西班牙语字符的问题.用户可以在aspx页面上以表单的形式提交他们的姓名/地址.然后,aspx页面将ajax发布到经典的asp页面,它所做的全部内容存储在我们的Sql 2008 DB中.我可以在数据库中看到该字符未正确存储.例如,名字看起来Mª应该是它应该的位置Mª.
当我读取该数据并将其显示在文本框中时,它仍然显示Mª.
我试过的事情:
<%@ Language=VBScript codepage=65001 %>
<% Response.Charset="UTF-8" %>还有其他想法吗?我是否需要首先返回数据库并修复字符,或者在读取字符并显示它们时是否可以完成?
我正在使用经典ASP.
Set theForm = Server.CreateObject("Persits.Upload")
theForm.OverwriteFiles = True
Run Code Online (Sandbox Code Playgroud)
运行上面的代码会产生错误:
Server object error 'ASP 0177 : 800401f3' Server.CreateObject Failed
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
假设Excel工作表有一个名为Student Names的列,并且该列具有重复值.说,
Student
=======
Arup
John
Mike
John
Lisa
Arup
Run Code Online (Sandbox Code Playgroud)
使用VBScript,我如何获得如下的唯一值?
Arup
John
Lisa
Mike
Run Code Online (Sandbox Code Playgroud) 你好,我是新来的,我需要一个脚本来检查,如果存在一个文件夹,然后从该文件夹运行一个文件.如果没有,它应该将ZIP文件提取到特定位置.提前致谢!
我在我的项目中编写了VBScript,但这只适用于IE而不是chrome/firefox.我的代码需要一个VBScript库.这段代码将如何在chrome和firefox上运行.我的代码是
<SCRIPT LANGUAGE="VBScript">
Sub clickHandler()
sP = Window.Event.SrcElement.ID
If Left(sP, 1) = "M" Then
Set oC = Document.All("C" & Mid(sP, 2))
If oC.Style.Display = "none" Then
oC.Style.Display = ""
Else
oC.Style.Display = "none"
End If
Set oC = Nothing
End If
End Sub
</SCRIPT>
Run Code Online (Sandbox Code Playgroud) vbscript ×10
asp-classic ×3
arrays ×1
batch-file ×1
datetime ×1
encoding ×1
filesystems ×1
firefox ×1
iso8601 ×1
sql ×1
utf-8 ×1
windows ×1