标签: vbscript

以编程方式列出WMI类及其属性

是否有任何已知的方法列出可用于特定系统的WMI类及其属性?我对vbscript方法感兴趣,但请提出任何建议:)

PS很棒的网站.

vbscript wmi

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

使用vbscript代码从文本文件中读取和写入值

我有一个名为'data'的变量我需要写入一个名为"listfile.txt"的文本文件.你能告诉我vbscript代码吗?我需要vbscript代码从textfile"listfile.txt"读取值也

vbscript

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

获取计算机名称和/或完整的网络文件路径

使用Scripting.FileSystemObject我可以获取文件的完整路径名,但这总是像"c:\ temp\myfile.txt".如何获取PC的名称,或者文件的网络路径,如\ MyPC\temp\myfile.txt?除了Scripting.FileSystemObject我可以使用之外还有其他课程吗?

vbscript

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

ASP:request.form没有返回值?

我有以下表格,

<form action="contact_us.asp" method="post" enctype="multipart/form-data" name="form1" id="form1">
   <input name="firstname" type="text" id="firstname" size="30" />
   <input name="lastname" type="text" id="lastname" size="30" />
   <input type="submit" name="submit" id="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

但是当我试图在我的ASP文件contact_us.asp中获取这些post变量的值时,它返回空白.代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<%

Dim FirstName, LastName, Email, Message
FirstName = request.form("firstname")
LastName = request.form("lastname")

response.write(FirstName & "OK")

%>
Run Code Online (Sandbox Code Playgroud)

它只对我回归"好".Message变量中什么都没有?

请帮帮我,告诉我这里有什么问题?

vbscript asp-classic

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

正则表达式 - 如何在匹配中找到匹配?

我一直在尝试使用VBs Regular Expression对象执行以下操作,但找不到一种简单的方法.有人可以提供一些建议吗?

例如,我有一个字符串"12 <56> 89",我想得到"<>"里面的字符串,在这种情况下应该是"56".我目前正在做的是尝试找到将返回<56>的表达式"<\ d +>".然后我尝试从第一个匹配的结果中找到表达式"\ d +",它将返回56.

我不喜欢这种方式,因为它需要调用该函数两次.我想知道是否可以使用一个正则表达式将字符串放在"<>"中?谢谢!

谢谢,艾伦

regex vbscript

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

理解VBScript中的Const表达式

好吧,我试着理解Const 表达式中的局限性VBScript.除了文字,我无法使用任何东西.什么文档说的是:

文字或其他常量,或包含除 Is 之外的所有算术或逻辑运算符的任何组合.

所以,如果"包括所有算术或逻辑运算符",那么逻辑上我希望我可以这样做:

Const X = (1 + 2)
Run Code Online (Sandbox Code Playgroud)

但是这会带来错误"预期的文字常数".我在这里找到了一个有趣的答案,允许一个人在某种程度上作弊,所以上面的事情可以通过以下方式完成:

Execute "Const X = " & (1 + 2)
Run Code Online (Sandbox Code Playgroud)

但我的问题是标准的常量声明.如果说文件说"表达可能只是文字",那么我永远不会问.
那么我还能用什么(除了文字)?

syntax vbscript const declaration

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

内部不变的

我试图用常量创建一个vb脚本类,并且出现800A03EA错误.这是一个VBS错误?这不是OOP的基本规则吗?

Class customer
   ' comment it const and its works
   const MAX_LEN=70

   Private Name

   Private Sub Class_Initialize
      Name = ""
   End Sub

   ' name property.
   Public Property Get getName
      getName = Name
   End Property

   Public Property Let letName(p_name)
      Name = p_name
   End Property
end class
Run Code Online (Sandbox Code Playgroud)

vbscript const class

7
推荐指数
2
解决办法
5115
查看次数

C#/ WSC(COM)互操作中的FatalExecutionEngineError

我即将开始一个用VBScript编写的遗留系统的迁移项目.它有一个有趣的结构,因为大部分内容是通过将各种组件编写为"WSC"文件来隔离的,这些文件实际上是以类似COM的方式公开VBScript代码的一种方式.从"核心"到这些组件的边界接口是相当紧凑和众所周知的,所以我希望我能够解决编写新核心并重用WSC,推迟他们的重写.

可以通过添加对"Microsoft.VisualBasic"的引用并调用来加载WSC

var component = (dynamic)Microsoft.VisualBasic.Interaction.GetObject("script:" + controlFilename, null);
Run Code Online (Sandbox Code Playgroud)

其中"controlFilename"是完整的文件路径.GetObject返回类型为"System .__ ComObject"的引用,但可以使用.net的"动态"类型访问属性和方法.

这似乎最初工作正常,但我遇到了很多特定情况的问题 - 我担心这可能发生在其他情况下,或者更糟糕的是,坏事情在很多时候都会发生并被掩盖,等到我最不期望的时候爆炸.

引发的异常是"System.ExecutionEngineException"类型,这听起来特别可怕(和模糊)!

我拼凑了我认为最小的重现案例,并希望有人可以对这个问题提出一些看法.我还发现了一些似乎可以阻止它的调整,但我无法解释原因.

  1. 创建一个名为"WSCErrorExample"的新的空"ASP.NET Web应用程序"(我在VS 2013/.net 4.5和VS 2010/.net 4.0中完成了这个,它没有区别)

  2. 在项目中添加对"Microsoft.VisualBasic"的引用

  3. 添加一个名为"Default.aspx"的新"Web窗体",并将以下内容粘贴到"Default.aspx.cs"的顶部

    using System;
    using System.IO;
    using System.Reflection;
    using System.Runtime.InteropServices;
    using Microsoft.VisualBasic;
    
    namespace WSCErrorExample
    {
        public partial class Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                var currentFolder = GetCurrentDirectory();
                var logFile = new FileInfo(Path.Combine(currentFolder, "Log.txt"));
                Action<string> logger = message =>
                {
                    // The try..catch is to avoid IO exceptions when reproducing by requesting …
    Run Code Online (Sandbox Code Playgroud)

c# asp.net com vbscript wsc

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

Windows任务计划程序运行VBScript

我试图通过使用Windows任务计划程序自动化VBScript.但是,我尝试使用cscript.exe+ "C:\...\script.vbs"但它没有运行.我也尝试在CMD(cscript.exe "C:\...\script.vbs")中直接运行相同的命令,并且它有效.

可能是什么问题?

编辑:

我只是尝试将设置切换为"Run only when user is logged on","Run whether user is logged on or not"并且工作正常.我想知道是否有办法让我的任务计划运行,即使用户已注销.

windows vbscript automation scheduler job-scheduling

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

SQLXML批量将属性加载到单个表中

TLDR;

我试图使用SQLXML Bulk Loader(4.0)来加载看起来像这样的XML;

<?xml version = "1.0" encoding = "UTF-8"?>
<CarSales>
 <Client>
  <ID >3</ID>
  <ClientName>John Smith3</ClientName>
  <Country name="Colombia"/>
 </Client>
 <Client>
  <ID>7</ID>
  <ClientName>Slow Sid</ClientName>
  <Country name="Bolivia"/>
 </Client>
 <Client>
  <ID>10</ID>
  <ClientName>Missing Town</ClientName>
  <Country name="Argentina"/>
 </Client>
</CarSales>
Run Code Online (Sandbox Code Playgroud)

我希望在我正在使用的唯一表的列中捕获Country name属性("Client_XMLBulkLoad",它还包含客户端名称和ID).那可能吗?


更多细节:

这是我到目前为止对应的XSD("Country"注释掉了)

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql = "urn:schemas-microsoft-com:mapping-schema">
 <xsd:element name = "CarSales" sql:is-constant = "1" >
  <xsd:complexType>
   <xsd:sequence>
    <xsd:element name = "Client" sql:relation="Client_XMLBulkLoad"
          maxOccurs = "unbounded">
      <xsd:complexType>
       <xsd:sequence>
        <xsd:element name = "ID" type = "xsd:integer" 
                     sql:field = "ID" />
        <xsd:element name = "ClientName" …
Run Code Online (Sandbox Code Playgroud)

xml vbscript sqlxml sql-server-2008-r2 xml-parsing

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