标签: vbscript

如何以编程方式确定我的处理器类型?

如何以编程方式确定我的机器是x86,x64还是IA64?

c# java vbscript processor

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

VBS Microsoft.XMLHTTP状态

为什么以下代码在运行时会出现80004005错误?我试图每隔10秒获得几个站点的状态......(给出的是示例).

'http://www.sebsworld.net/information/?page=VBScript-URL
'http://www.paulsadowski.com/wsh/xmlhttp.htm

'the array of sites
sites = Array("http://www.google.com/","http://en.wikipedia.org/wiki/Main_Page")

While(True)
    For Each site In sites

        'Get site status
        Set Http = WScript.CreateObject("Microsoft.XMLHTTP")
        Http.Open "GET", site, True
        Http.Send

        If(Http.Status <> 200) Then 'site isn't 200
            MsgBox "The site at " & vbNewLine & site & vbNewLine & "has status: " & Http.Status
        End If
    Next

    WScript.Sleep(10)'Sleep 10 seconds
Wend
Run Code Online (Sandbox Code Playgroud)

vbscript xmlhttprequest status

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

如何使用VBScript读取.zip文件的内容而不实际提取文件?

我有一个以父目录开头的.zip文件.我需要从文件中读取该dir,然后搜索我的HD以查看该dir名称是否已存在.如果它存在,我然后删除它并将其替换为.zip文件的内容.

所有这些我都可以做,除了读取.zip而不实际解压缩文件.

.zip文件的大小可以超过2G,所以我想避免解压缩,然后读取目录,然后复制.

我不直接解压缩到该位置并强制覆盖的原因是,由于某些原因,当使用该CopyHere方法解压时,它会忽略通常会强制覆盖的开关,并且仍然会提示用户是否要覆盖.

解压缩文件的代码:

 Set objSA = CreateObject("Shell.Application")
 Set objSource = objSA.NameSpace(pathToZipFile).Items ()
 Set objTarget = objSA.NameSpace(extractTo)     

 objTarget.CopyHere objSource,4
Run Code Online (Sandbox Code Playgroud)

vbscript zip

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

正则表达式从SQL语句中删除注释

我正在尝试使用正则表达式从SQL语句中删除注释.

这个正则表达式几乎可以工作:

(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|'(?:[^']|'')*'|(--.*)
Run Code Online (Sandbox Code Playgroud)

除了最后一部分不能很好地处理" - "评论.问题是处理SQL字符串,用''分隔.

例如,如果我有

SELECT ' -- Hello -- ' FROM DUAL
Run Code Online (Sandbox Code Playgroud)

它不应该匹配,但它匹配.

这是在ASP/VBscript中.

我想过从右到左匹配,但我不认为VBScript的正则表达式引擎支持它.也试图摆弄负面的背后,但结果并不好.

regex sql vbscript

6
推荐指数
2
解决办法
6174
查看次数

VBScript根据参数在函数中创建一个数组

美好的一天,

我正在创建一个VBScript函数来返回一个数组.但我想传递一个数组大小的参数.

Function CreateArray(arraySize)
    Dim someArray(arraySize)               ' EXPECTED INTEGER CONSTANT
    For i = 0 to UBound(someArray)
        someArray(i) = 5
    Next

   CreateArray = someArray
End Function
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

预期的整数常量

这可以在VBScript中做到吗?

TIA,

COSON

vbscript

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

如何让Microsoft Script Debugger与64位Windows 7一起使用?

我正在尝试调试一些VBScript,通常我会安装古老的(但是免费的)Microsoft Script Debugger,它可以在32位XP和32位Windows 7上正常工作.

但是,在64位Windows 7上安装它之后,//d或者//x(或者甚至两者)都不再实际调用调试器.该脚本将很乐意运行,就像我从未提供过该选项一样 - 但这不是很有用.

有什么办法可以让它运作起来吗?我只是偶尔使用它来刮擦我自己的痒,所以我无法证明购买一些商业工具作为替代品.

debugging vbscript 64-bit windows-7

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

如何在vbscript中实现一个可变大小的数组

我正在重新设计网页的一部分,以便将来更容易更新.目前,它是一系列硬编码的表.要重新设计表格(例如,按照我想要的方式按字母顺序排列),需要手动交换html中的很多值.

这就是我想要做的:创建一个带有title和link变量的url_Link对象,分别保存显示名称和url.创建一个url_Link对象数组,并将其填充到页面的.asp文件的顶部.对这些阵列上的每个循环执行a以构建和填充表

这本身并不是那么糟糕,但我遇到了两个问题.首先,我不想定义数组大小,因为当对链接数进行更改时,这需要更改第二个位置.将存在一些逻辑来阻止显示某些url_Link对象(例如,某些用户无法访问某些页面,因此他们将看不到链接),这会在调整数组大小时引起问题.

我知道我可以制作一个大尺寸的数组,但这对我来说似乎很浪费(我不知道每个函数如何,也不希望出现一堆空行).

我该怎么做才能解决这些问题?我对vbscript知之甚少,而且我一直在使用的大部分代码都没有利用数组或对象.

更新:我尝试使用redim PRESERVE来修剪超大阵列的多余脂肪.问题是在某些情况下,由于if条件,我的数组中填充的对象数量少于其最大大小.当我使用for循环时,这会导致问题(尝试为每个循环工作并且目前没有发生).我在redim行上收到错误"此数组已固定或暂时锁定"

码:

  dim systemSettingsArray(1) 
  arrayCounter = 0
  if ADMIN = "Y" then
      set systemSettingsArray(arrayCounter) = (new url_Link).Init("Account Administration","Maintenance/Account_Admin.asp")
      arrayCounter = arrayCounter + 1
  end if
  set systemSettingsArray(arrayCounter) = (new url_Link).Init("Time Approval","Maintenance/system_Time_Approval.asp")
  redim Preserve systemSettingsArray(arrayCounter)
Run Code Online (Sandbox Code Playgroud)

arrays vbscript asp-classic

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

通过Windows脚本宿主以UTF-8编码运行JScr​​ipt或VBScript文件的问题

我不确定我做错了什么,但是Windows Script Host如果我将它保存在.js带有UTF-8编码的文件中,我似乎无法运行以下JScript :

var name = "Hello world!";
WScript.echo(name);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它给了我这个错误:

在此输入图像描述

请注意,如果我使用ANSI编码保存脚本,脚本运行正常.

Windows Script Host引擎不兼容的UTF-8编码?

windows vbscript wsh utf-8 jscript

6
推荐指数
2
解决办法
2541
查看次数

在VBScript中解析Html字符串(Not File)

我有一个HTML字符串(没有任何类型的文件,不想先将我的字符串保存为html文件,然后加载它)我想在某些标签之间获得一些链接和文本.我试图搜索,但没有找到任何运气.有人可以帮我解决这个问题.提前致谢.

vbscript html-parsing

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

如何检查对象是否为集合

我在我的一个脚本中不断收到此错误:

对象不是集合

所以我想创建一个函数,在对象执行任何操作之前检查对象是否是一个集合.

到目前为止,我创建了这个:

Function IsCollection(param)
    If IsEmpty(param) Then
        IsCollection = False
    ElseIf(TypeName(param) = "String") Then
        IsCollection = False
    Else
        IsCollection = True
    End If
End Function 
Run Code Online (Sandbox Code Playgroud)

但我觉得我错过了一些检查 - 当然唯一可用的类型不仅仅是String,Empty或者Collection

我认为只是尝试枚举可能会更好param,如果这会返回错误,那么我知道输出false- 这似乎是一个更好的选择吗?

Function IsCollection(param)
    For Each p In param
        ' Anything need to go here?
    Next

    If Err > 0 Then
        IsCollection = False
    Else
        IsCollection = True
    End If
End Function 
Run Code Online (Sandbox Code Playgroud)

即使在第二个例子中,指定给出的错误是"对象不是集合"也是明智的吗?

collections vbscript

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