我正在尝试重新编辑并保留一个数组,因此它会从数组中删除任何空白行。但是我收到了错误
在redim所在的行上的类型不匹配
。我是否需要首先设置数组的lbound和ubound?
option Explicit
Const ForReading = 1
Const ForAppending = 8
Const ForWriting = 2
Dim objFSO, objUsersFile, arrFileLines, a, strDN, objUser, arrMemberOf, regex, group, strData, strObject, objRootDSE, objConnection, ADLogFile
Dim objCommand, WshShell, TriStateTrue, strDNSDomain, objRecordSet, workdir, strUsers, strDateAndTime, strDayOfMonth, strMonth, strYear, strDate, strTime
Dim strOU, strFlag, Args, strfile, objFile, strAddRemoveUser, strAdminsGroup, strUserDN, ADSuccessLogFile, strUser, strGroup, objGroup
Dim strType, strPreventMDriveDelete, strAddRemove, wshNetwork, strDomainName, strPreventWin7Upgrade, strWin7Advert
Dim ADFailedLogFile, strMachine, objComputer, strMachineDN, objMachine, strPackageCode, strAppInstall, strNTName, k
Dim arrFileLine()
Set objFSO = CreateObject("Scripting.FileSystemObject")
set WshShell = WScript.CreateObject ("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set Args = WScript.Arguments
strType = "User"
strAddRemove = "Add"
strOU = "EU"
strAdminsGroup = strOU & "-SYS-MGRT-DESKTOP"
'set date for use in file names
strDayOfMonth = Right("0" & Day(Date()),2)
strMonth = Right("0" & Month(Date()),2)
strYear = Right (Year(Date()),4)
strDate = strDayOfMonth & "-" & strMonth & "-" & strYear
strTime = replace(Time(),":",".")
strDateAndTime = strDate & "-" & strTime
Workdir = "C:\script\admin"
Set ADSuccessLogFile = objFSO.OpenTextFile(workdir & "\Logs\Success" & strDateAndTime & ".txt", ForAppending,True)
Set ADFailedLogFile = objFSO.OpenTextFile(workdir & "\Logs\Failed" & strDateAndTime & ".txt", ForAppending,True)
strDNSDomain = objRootDSE.get("defaultNamingContext")
strFile = Args.item(0)
If right (strFile,3) = "txt" Then
Set objFile = objFSO.OpenTextFile(strFile, 1)
k = 0
Do Until objFile.AtEndOfStream
strUser = Trim(objFile.ReadLine)
If (strUser <> "") Then
ReDim Preserve arrFileLines(k)
arrFileLines(k) = strUser
k = k + 1
End If
Loop
objFile.Close
Else
ReDim arrFileLines(0)
arrFileLines(0) = strFile
End If
for each struser in arrfilelines
wscript.echo struser
next
答案 0 :(得分:0)
Dim aX()
创建一个没有大小的固定数组; VBScript甚至不能* Bound()它因此请使用Dim arrFileLines
然后重试。
答案 1 :(得分:0)
在调暗数组时发现问题我需要arr File Lines()而不是arr FileLines