Vbscript can';在vbs中重新定义数组
我正在尝试重拨并保留数组,以便它从数组中删除任何空行。但我犯了个错误 类型不匹配 在redim所在的线路上。我需要先设置数组的lbound和ubound吗Vbscript can';在vbs中重新定义数组,vbscript,Vbscript,我正在尝试重拨并保留数组,以便它从数组中删除任何空行。但我犯了个错误 类型不匹配 在redim所在的线路上。我需要先设置数组的lbound和ubound吗 option Explicit Const ForReading = 1 Const ForAppending = 8 Const ForWriting = 2 Dim objFSO, objUsersFile, arrFileLines, a, strDN, objUser, arrMemberOf, regex, group, str
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
选项显式
常数ForReading=1
出现的常数=8
写入常数=2
Dim objFSO、OBJUSFILE、arrFileLines、a、STRN、objUser、arrMemberOf、regex、group、strData、strObject、objRootDSE、objConnection、ADLogFile
Dim objCommand、WshShell、TriStateTrue、strndsDomain、objRecordSet、workdir、strUsers、strDateAndTime、strDayOfMonth、strMonth、strYear、strDate、strTime
Dim strOU、strFlag、Args、strfile、objFile、STRADDREMOVERUSER、STRADMINGROUP、strUserDN、ADSuccessLogFile、strUser、strGroup、objGroup
Dim strType、strPreventMDriveDelete、stradremove、wshNetwork、strDomainName、strpreventWin7升级、strwin7广告
Dim ADFailedLogFile、strMachine、objComputer、strMachineDN、objMachine、strPackageCode、StrapInstall、strNTName、k
Dim arrFileLine()
设置objFSO=CreateObject(“Scripting.FileSystemObject”)
设置WshShell=WScript.CreateObject(“WScript.Shell”)
设置objFSO=CreateObject(“Scripting.FileSystemObject”)
Set Args=WScript.Arguments
strType=“用户”
strAddRemove=“添加”
strOU=“EU”
strAdminsGroup=strOU&“-SYS-MGRT-DESKTOP”
'设置文件名中使用的日期
strDayOfMonth=Right(“0”和Day(Date()),2)
strMonth=Right(“0”和月(日期()),2)
strYear=Right(年份(日期()),4)
strDate=strDayOfMonth&“-”和strMonth&“-”和strYear
strTime=replace(Time(),“:”,“)
strDateAndTime=strDate&“-”和strTime
Workdir=“C:\script\admin”
设置ADSuccessLogFile=objFSO.OpenTextFile(workdir&“\Logs\Success”&strDateAndTime&“.txt”,用于显示,为True)
设置ADFailedLogFile=objFSO.OpenTextFile(workdir&“\Logs\Failed”&strDateAndTime&“.txt”,用于显示,为True)
strndsdomain=objRootDSE.get(“defaultNamingContext”)
strFile=Args.item(0)
如果正确(strFile,3)=“txt”,则
设置objFile=objFSO.OpenTextFile(strFile,1)
k=0
直到objFile.AtEndOfStream
strUser=Trim(objFile.ReadLine)
如果(strUser“”),则
ReDim文件行(k)
arrFileLines(k)=strUser
k=k+1
如果结束
环
objFile.Close
其他的
ReDim文件行(0)
arrFileLines(0)=strFile
如果结束
对于文件行中的每个struser
wscript.echo struser
下一个
Dim aX()
创建一个没有大小的固定数组;VBScript甚至不能*绑定()它因此,请使用
Dim arrFileLines
并重试。在缩小阵列时发现问题,我需要arrFileLines()而不是arrFileLines您再次这样做,但仍然存在伪()。