Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript can';在vbs中重新定义数组_Vbscript - Fatal编程技术网

Vbscript can';在vbs中重新定义数组

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

我正在尝试重拨并保留数组,以便它从数组中删除任何空行。但我犯了个错误

类型不匹配

在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
选项显式
常数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
下一个
  • arrFileLine arrFileLine
  • Dim aX()
    创建一个没有大小的固定数组;VBScript甚至不能*绑定()它

  • 因此,请使用
    Dim arrFileLines
    并重试。

    在缩小阵列时发现问题,我需要arrFileLines()而不是arrFileLines

    您再次这样做,但仍然存在伪()。