标签: vbscript

如何使用vbscript读取注册表项的所有值?

我的注册表中有以下值

钥匙:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Accepted Documents\

价值观:

* -> application/msword
** -> application/vnd.ms-excel
*** -> application/vnd.ms-powerpoint
Run Code Online (Sandbox Code Playgroud)

等等

我想知道如何阅读所有内容

使用Wscript.ShellRegRead我只能读取一个值,但我事先不知道这些值......

registry vbscript

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

VBScript 无法删除文件夹

我有一个 VBScript 程序,它在用户的临时文件夹中创建一个文件夹:

set fso = CreateObject("scripting.FileSystemObject")
temp = fso.GetSpecialFolder(2)
dropzone = temp & "\{d450c76c-2ad8-4f73-af8a-ccc5ba28036a}\"

If Not fso.FolderExists(dropzone) Then 
    set NewFolder = fso.CreateFolder(dropzone)
End If
set NewFolder = Nothing
Run Code Online (Sandbox Code Playgroud)

在程序结束时,我想删除该文件夹。我尝试了这个,但它给了我一个权限被拒绝的错误:

set deletefolder = fso.GetFolder(dropzone)
deletefolder.Delete(True) 
set fso = Nothing
Run Code Online (Sandbox Code Playgroud)

vbscript file-io

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

VBScript 删除换行符

我有一个 HTML 页面,其后有一个或多个换行符</html>。我的 VBScript 文件能够找到用空值替换换行符。但是,看起来 OpenTextFile 又在末尾添加了换行符。帮助!

'Pulled this from the InterWebs
Const ForReading = 1 Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("a.html", ForReading)
strText = objFile.ReadAll
'Wscript.Echo strText
objFile.Close

strNewText = Replace(strText, "</html>" & vbCrlf, "</html>")
Set objFile = objFSO.OpenTextFile("a.txt", ForWriting)
objFile.WriteLine strNewText
objFile.Close
Run Code Online (Sandbox Code Playgroud)

vbscript

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

VBScript (ASP) 服务器组件驻留在哪里?

我是 ASP、VBScript 新手,正在尝试弄清楚如何更改网页上的某些文本。

我想做的:
更改网页中的一些文本

问题:
网页 (.asp) 文本似乎是由如下代码生成的:<% Set MyAd = Server.CreateObject("ETFramework11.WPLoginPage") %>我无法直接看到我想要的文本改变。

问题:ETFramework11WPLoginPage
所在的文件物理驻留在哪里?(假设它们驻留在某个地方的单独文件中)文件类型是什么?他们看起来怎么样?

vbscript asp-classic

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

为什么我不能在 Postgresql 中使用数字或日期类型输入 NULL 值?

我正在为这项工作做一个小申请,其中包括一个表格。当使用表单的人没有在“数字”数据类型(比如说 PIN 码)中输入值,甚至没有在我的“日期”数据类型字段之一中输入日期(比如说他的周年纪念日)时,它会返回我的错误如下:

\n\n
\n

错误类型 \xe2\x80\x93 类型错误\n _Microsoft OLE DB Provider for ODBC Drivers (0x80004005)_\n 错误: 数字类型的输入语法无效: ""; 执行查询时出错

\n\n

错误类型 \xe2\x80\x93 类型错误\n _Microsoft OLE DB Provider for ODBC Drivers (0x80004005)_\n 错误:“)”处或附近存在语法错误;执行查询时出错

\n
\n\n

因此,似乎当使用该表单的人什么都不输入时,它会返回字符串“空”,即“”。\n为什么数字类型和数据类型不能将其读取为 NULL 条目?这些字段不是强制性的,因此我有时需要将它们留空。

\n\n

我怎样才能使它成为可能?他们是否有一种继续使用“数字”和“日期”类型的方法,以便当用户在这些字段中输入任何内容时,表格会填充一个空白案例,而不是给我这个错误?

\n\n

这是我的sql语句:

\n\n
trsConn.EXECUTE "INSERT INTO ""TRS"".employeetbl ( "& _\n  """firstName"", " & _  \n  """lastName"" , " & _  \n  """detContract"", " & _  \n  "sle, " & _  \n  """posNumber"" "& _  \n  ") VALUES (" …
Run Code Online (Sandbox Code Playgroud)

postgresql vbscript asp-classic postgresql-9.0

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

在 VBScript 中对多维数组进行排序

如何根据孔大小参数对多维数组进行“排序”?

例如:一个简单的例子是(从文本文件加载):

> Liv1.HoleSize[0] = 22 Liv1.HoleX[0] = 250 Liv1.HoleY[0] = -55
> Liv1.HoleSize[1] = 14 Liv1.HoleX[1] = 750 Liv1.HoleY[1] = 0
> Liv1.HoleSize[2] = 22 Liv1.HoleX[2] = 900 Liv1.HoleY[2] = -55
Run Code Online (Sandbox Code Playgroud)

那么必须导致:

> Liv1.HoleSize[0] = 14 Liv1.HoleX[0] = 750 Liv1.HoleY[0] = 0
> Liv1.HoleSize[1] = 22 Liv1.HoleX[1] = 250 Liv1.HoleY[1] = -55
> Liv1.HoleSize[2] = 22 Liv1.HoleX[2] = 900 Liv1.HoleY[2] = -55
Run Code Online (Sandbox Code Playgroud)

arrays sorting vbscript

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

打开 Excel 文件时出现错误 800a03ec

我编写了以下代码将 XLSX 文件转换为 CSV 格式:

If WScript.Arguments.Count < 2 Then
    WScript.Echo "Error! Please specify the source path and the destination. Usage: XlsToCsv SourcePath.xls Destination.csv"
    Wscript.Quit
End If

Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
oBook.SaveAs WScript.Arguments.Item(1), 6
oBook.Close False
oExcel.Quit
Run Code Online (Sandbox Code Playgroud)

当我为 XLSX 文件提供服务器路径时,它工作正常。但是,当我提供本地计算机路径时,它给出以下错误:

找不到文件。检查文件名的拼写,并验证文件位置是否正确。如果您尝试从最近使用的文件列表中打开该文件,请确保该文件未被重命名、移动或删除
代码:800A03EC
来源:Microsoft Office Excel

vbscript

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

变量缺失值

我正在尝试使用经典 ASP/VBScript 填充网站上的<select><option>这些值是从 SQL Server 数据库读取和获取的,其代码类似于:

SET rows = dbc.execute(SQL)
    IF NOT rows.EOF THEN
        DO WHILE NOT rows.EOF
             %>  
                <option value="<%=rows("specialty")%>"><%=rows("specialty")%></option>
             <%    
             rows.moveNext
        LOOP
    ELSE    
END IF

rows.close
SET rows = NOTHING
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是似乎只有一侧<%=rows("specialty")%>进行评估。

我得到<option value="<%=rows("specialty")%>"><%=rows("specialty")%></option>

<option value="fromRow1"></option>
<option value="fromRow2"></option>
<option value="fromRow3"></option>
Run Code Online (Sandbox Code Playgroud)

我得到<option value="test"><%=rows("specialty")%></option>

<option value="test">fromRow1</option>
<option value="test">fromRow2</option>
<option value="test">fromRow3</option>
Run Code Online (Sandbox Code Playgroud)

人们应该采取什么措施来缓解这一问题?

html sql sql-server vbscript asp-classic

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

使用 ASP VBScript 的 XML/SelectNodes 问题

显示 XML 信息时遇到问题。我认为这与选择正确的节点(公司名称)有关。需要新的意见...有一种感觉,我可能忽略了一些非常简单的事情。代码如下。

XML

<GovTalkMessage>
    <EnvelopeVersion>1.0</EnvelopeVersion>
    <Header>
        <MessageDetails>
            <Class>CompanyDetails</Class>
            <Qualifier>response</Qualifier>
            <TransactionID>9999999999999</TransactionID>
            <GatewayTest>TRUE</GatewayTest>
            <GatewayTimestamp>2013-09-24T17:51:41-00:00</GatewayTimestamp>
        </MessageDetails>
        <SenderDetails>
            <IDAuthentication>
                <SenderID>******</SenderID>
                <Authentication>
                    <Method>CHMD5</Method>
                    <Value></Value>
                </Authentication>
            </IDAuthentication>
            <EmailAddress>rte@rrfsolicitors.com</EmailAddress>
        </SenderDetails>
    </Header>
    <GovTalkDetails>
        <Keys/>
    </GovTalkDetails>
    <Body>
        <CompanyDetails>
            <CompanyName>MILLENNIUM STADIUM PLC</CompanyName>
            <CompanyNumber>03176906</CompanyNumber>
            <RegAddress>
                <AddressLine>MILLENNIUM STADIUM</AddressLine>
                <AddressLine>WESTGATE STREET</AddressLine>
                <AddressLine>CARDIFF</AddressLine>
                <AddressLine>CF10 1NS</AddressLine>
            </RegAddress>
        </CompanyDetails>
    </Body>
</GovTalkMessage>
Run Code Online (Sandbox Code Playgroud)

ASP 代码:

Set XMLDom = CreateObject("MSXML2.DomDocument.6.0")
XMLDom.Async = False
XMLDom.LoadXML (theXML)

theNode = "/GovTalkMessage/Body/CompanyDetails"

Set NodeList = XMLDom.SelectNodes(theNode)
nodeCount = XMLDom.SelectNodes(theNode).Length
If XMLDom.ParseError = 0 Then
    Response.Write(nodeCount)
    For Each Node in NodeList 
        response.Write(Node.Text & …
Run Code Online (Sandbox Code Playgroud)

xml vbscript asp-classic

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

递归搜索子文件夹并删除子文件夹中超过6个月的所有文件

我们有这样的目录结构

..\文档名称_存档\YYYY\月份名称

例如,我们有许多子文件夹(在不同的文档名称文件夹中),名为 \2014\January ... 等

我们想要删除创建日期超过 180 天的所有文件夹及其内容。

我们更愿意只使用批处理文件脚本,但如果我们需要递归搜索,也许 VBScript 更好。

请问最好的办法是什么?

vbscript command-line batch-file dir delete-file

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