是否有任何已知的方法列出可用于特定系统的WMI类及其属性?我对vbscript方法感兴趣,但请提出任何建议:)
PS很棒的网站.
我有一个名为'data'的变量我需要写入一个名为"listfile.txt"的文本文件.你能告诉我vbscript代码吗?我需要vbscript代码从textfile"listfile.txt"读取值也
使用Scripting.FileSystemObject我可以获取文件的完整路径名,但这总是像"c:\ temp\myfile.txt".如何获取PC的名称,或者文件的网络路径,如\ MyPC\temp\myfile.txt?除了Scripting.FileSystemObject我可以使用之外还有其他课程吗?
我有以下表格,
<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变量中什么都没有?
请帮帮我,告诉我这里有什么问题?
我一直在尝试使用VBs Regular Expression对象执行以下操作,但找不到一种简单的方法.有人可以提供一些建议吗?
例如,我有一个字符串"12 <56> 89",我想得到"<>"里面的字符串,在这种情况下应该是"56".我目前正在做的是尝试找到将返回<56>的表达式"<\ d +>".然后我尝试从第一个匹配的结果中找到表达式"\ d +",它将返回56.
我不喜欢这种方式,因为它需要调用该函数两次.我想知道是否可以使用一个正则表达式将字符串放在"<>"中?谢谢!
谢谢,艾伦
好吧,我试着理解Const 表达式中的局限性VBScript.除了文字,我无法使用任何东西.什么文档说的是:
文字或其他常量,或包含除 Is 之外的所有算术或逻辑运算符的任何组合.
所以,如果"包括所有算术或逻辑运算符",那么逻辑上我希望我可以这样做:
Const X = (1 + 2)
Run Code Online (Sandbox Code Playgroud)
但是这会带来错误"预期的文字常数".我在这里找到了一个有趣的答案,允许一个人在某种程度上作弊,所以上面的事情可以通过以下方式完成:
Execute "Const X = " & (1 + 2)
Run Code Online (Sandbox Code Playgroud)
但我的问题是标准的常量声明.如果说文件说"表达可能只是文字",那么我永远不会问.
那么我还能用什么(除了文字)?
我试图用常量创建一个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编写的遗留系统的迁移项目.它有一个有趣的结构,因为大部分内容是通过将各种组件编写为"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"类型,这听起来特别可怕(和模糊)!
我拼凑了我认为最小的重现案例,并希望有人可以对这个问题提出一些看法.我还发现了一些似乎可以阻止它的调整,但我无法解释原因.
创建一个名为"WSCErrorExample"的新的空"ASP.NET Web应用程序"(我在VS 2013/.net 4.5和VS 2010/.net 4.0中完成了这个,它没有区别)
在项目中添加对"Microsoft.VisualBasic"的引用
添加一个名为"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)我试图通过使用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"并且工作正常.我想知道是否有办法让我的任务计划运行,即使用户已注销.
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) vbscript ×10
const ×2
asp-classic ×1
asp.net ×1
automation ×1
c# ×1
class ×1
com ×1
declaration ×1
regex ×1
scheduler ×1
sqlxml ×1
syntax ×1
windows ×1
wmi ×1
wsc ×1
xml ×1
xml-parsing ×1