我是ASP和VBScript的新手,我有一个我正在研究的程序,使用地图会更容易.但是,经过一些搜索后,我在VB中找不到任何关于地图的信息.
有没有办法map <Key, Value>在VBScript中使用类似C++的东西?
我宁愿避免下载外部资源.如果没有,最好的选择是什么?现在我只是有一个非常大的Select声明.
我对函数和类相对较新,所以不太确定这是否是初学者的错误.我越来越:
Microsoft VBScript runtime error '800a01a8'
Object required: 'EngineerNote(...)'
/backup-check/backup_frontendlist_import_NEW.asp, line 76
Run Code Online (Sandbox Code Playgroud)
第76行是:
Set NoteArray=EngineerNote(company, servername, backupsolution)
Run Code Online (Sandbox Code Playgroud)
我传递的三个变量都是字符串.所有的功能和类都设置在:
Class EngineerNoteClass
public note
public notesubmitdate
End Class
Function EngineerNote(Company, ServerName, Solution)
Set RecordSet = Server.CreateObject("ADODB.Recordset")
RecordSetSQLString = "SELECT note, submitdate FROM tbl_BackupChecks_AuditInformation WHERE Company='" & company & "' AND ServerName='" & servername & "' AND Solution='" & solution & "' ORDER BY submitdate desc;"
RecordSet.Open RecordSetSQLString, DatabaseConnection
If Recordset.EOF Then
'Do Nothing
Else
Dim NoteResults
Set NoteResults = new EngineerNoteClass
noteresults.note …Run Code Online (Sandbox Code Playgroud) 我有2个文件,我想看看里面的内容是否相等.其中一个是像Sample1.txt这样的文本文件,另一个是像main.css这样的不同文件我怎么能比较两个看看如果里面的内容是相同的.
我在想
Content1 = FSO.OpenTextFile(sample.txt).ReadAll
Content2 = FSO.OpenTextFile(main.css).ReadAll
if(Content1 = Content2) Then
End IF
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点.
谢谢
所以我有一个vb脚本扫描RAP(运行广告程序),如果程序没有上次运行时间,但该程序的全名到一个数组,那么我将这个数组回显到一个消息框.我初始化数组以存储10个值,但为了保持消息框清洁,我想在找到所有程序后重新调整数组大小(不会超过3但是谁知道客户端).但是,我似乎无法让数组调整大小,它打印一个带有10个数组插槽的消息框+它找到的程序.
Dim vprglist(10)
Dim i
Dim strBuf
Dim intIndex
Set vprograms = oUIResource.GetAvailableApplications
i = 0
For Each vprogram In vprograms
If vprogram.LastRunTime = "" Then
vprglist(i) = vprogram.FullName
i = i + 1
End If
Next
ReDim Preserve vprglist(i)
If vprglist <> Null Then
For intIndex = LBound(vprglist) To UBound(vprglist)
strBuf = strBuf & " - " & vprglist(intIndex) & vbLf
Next
vmsgbox = MsgBox("Do you want to Install(Yes) or Defer(No) the follow software: " & vbLf & strBuf,64+4) …Run Code Online (Sandbox Code Playgroud) 我有以下一段代码所有我需要的是找到扩展名为PNG的文件和最近的最后修改日期,我能够找到最后修改日期,但如果我将扩展名检查放在文件上它会给出[对象的错误在[某些数字]需要'recentFile']
脚本
For Each objFile in colFiles
' Finds the latest modified file in folder
if (recentFile is nothing) then
Set recentFile = objFile
elseif (objFile.DateLastModified > recentFile.DateLastModified) then
Set recentFile = objFile
end if
Next
Run Code Online (Sandbox Code Playgroud)
我知道我可以稍后检查扩展名,但问题是,如果有一个最新的文件而不是PNG怎么办?虽然有文件的PNG扩展名但与其他文件相比不是最新的,所以我只需要找到最后修改日期的PNG到最新的PNG文件,请帮助我如何实现它?
以下是我的VBS代码.我承认,我对此非常陌生,因为我把它作为工作中的工作.我需要创建一个登录/注销脚本,它将捕获某些信息并将其存储在csv文件中.我能够获取信息并将其存储在csv文件中,但是当我再次尝试时,我希望它创建另一行并在那里存储更新的信息.我不断得到这些亚洲人物.似乎是什么问题.
这是我第二次点击我的注销脚本时所得到的:沩牵琠硥⁴潧獥栠牥
' ******************** Log Off Script **********************************
'Script to write Logoff Data Username, Computername to eventlog.
Dim objShell, WshNetwork, PCName, UserName, strMessage, strContents, logDate, logTime
Dim strQuery, objWMIService, colItems, strIP, rowCount
' Constants for type of event log entry
const EVENTLOG_AUDIT_SUCCESS = 8
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Set WshNetwork = WScript.CreateObject("WScript.Network")
logDate = Date()
logTime = Time()
PCName = WshNetwork.ComputerName
UserName = WshNetwork.UserName
strMessage = "Logoff Event Data" & "PC Name: " & PCName & …Run Code Online (Sandbox Code Playgroud) 我想删除桌面文件夹中的所有快捷方式,并确保添加一组干净的shorcuts.
但是,我需要保持shorcuts映射驱动器.如果查看"属性"的"快捷方式"选项卡,可以看到此类型的快捷方式具有Target type"文件夹".
问题是,我找不到通过VBS访问目标类型的任何方法.我可以得到type(objFile.Type),但是它会Type of file在'General'选项卡上显示(在本例中为'Shortcut').
有没有人知道一种访问方式Target type?谢谢.
For Each objFile in objFolder.Files
' Check that the file 'Target type' is not 'File Folder'
If Not objFile.Type = "File Folder" Then
objFSO.DeleteFile(desktop_locations(i) & objFile.Name)
End If
Next
Run Code Online (Sandbox Code Playgroud) 下面的脚本由HTA表单中的按钮运行.然而,每当按下按钮时,程序冻结并保持冻结状态,直到下载完成,而不是看到["Downloading:"&dlFileName].我确实看到第二条消息["下载完成!"].
当我在第2行和第3行之间输入MsgBox时,我确实看到文本在按下OK按钮之前变为"正在下载...",但现在没有解决方案了...
我写错了,还是有一种(简单,轻松)的方式来停止行动,直到先前的行动被采取?
欢迎任何信息,我对此很新!
Sub Download_File(dlAddress, dlFileName)
strStatus.innerHTML="Downloading: " & dlFileName 'This does not show up.
strHttp.Open "GET", dlAddress, False
strHttp.Send
With createobject("Adodb.Stream")
.type = 1 '//binary
.open
.write strHttp.responseBody
.savetofile txtDLPath.Value & dlFileName, 2 '//overwrite
End With
strStatus.innerHTML="Downlad complete!"
End Sub
Run Code Online (Sandbox Code Playgroud) 我有一个针对我的应用程序的MSI安装程序,它将一些内容写入路径环境变量,但是在Windows重新启动或手动进入环境变量并单击"确定"之前,它不会在Windows中"刷新".
我的客户要求我们解决这个问题.
安装程序有限,但我可以选择在安装完成后运行批处理文件或VBScript.
有人知道我可以使用命令或功能吗?
首先,非常感谢你在过去的六个月中为3个Vbscript找到的所有帮助.我是Vbscripting的新手,我正在努力获取一个创建文件夹和复制文件的Vbscript同时覆盖该文件夹和文件(如果已经存在)要创建的文件夹和子文件夹(Avaya)C:\ Users \我的用户名\ AppData\Roaming\Avaya\Avaya\one-X代理\ 2.5 \文件从(Myfile.txt)C:\ Myfile.txt到C:\ Users\My Username\AppData\Roaming\Avaya\one-X Agent\2.5 \
我收到"未找到路径"错误,但如果我离开路径直到(Avaya)它创建了Avaya文件夹但不是它的子文件夹C:\ Users\My Username\AppData\Roaming\Avaya \
这就是我所拥有的,并提前感谢你
Dim fso, vFolder
Set objFso = WScript.CreateObject("Scripting.FileSystemObject")
set objWShell = wScript.createObject("WScript.Shell")
usrName = objWShell.expandEnvironmentStrings("%USERNAME%")
Set fso = CreateObject("Scripting.FileSystemObject")
Set vFolder = fso.CreateFolder("C:\Users\" & usrName & "\AppData\Roaming\Avaya\one-X Agent\2.5\")
CreateFolderDemo = vFolder.Path
Run Code Online (Sandbox Code Playgroud)