Function Run_Cmd(strCmd)
Dim objShell
Dim objScriptExec
Dim strCmdResult
strCmd = "%comspec% /C " + strCmd
Set objShell = CreateObject("WScript.Shell")
Set objScriptExec = objShell.exec(strCmd)
set Run_Cmd = objScriptExec.StdOut
End Function
Function test()
'...
Set objPropFilesList = Run_Cmd("dir /B " & sStarterDir & " | findstr /I """&test_list&"""")
if (objPropFilesList.count = 0) Then
LogWrite "No EPM services found to verify... Aborting execution.", fAutoFixLog, bLogToConsole
wscript.echo "No EPM services found to verify... Aborting execution."
Exit Function
End If
Do Until objPropFilesList.AtEndOfStream
'...
Loop
End Function
В приведенном выше коде objPropFilesList возвращает текстовый поток. Когда я установил условие проверки счета, он пропускает оставшийся код в этой функции. Я не понимаю, почему он пропускает этот код.Как свойство подсчета файлов FileSystemObject обрабатывает список файлов, возвращаемых командой dir
Мое недоразумение заключается в том, что, согласно ниже, doc Count Property обрабатывает объект Dictionary. ObjPropFilesList возвращает список имен файлов, не будет ли это рассматриваться как объект словаря.
https://msdn.microsoft.com/en-us/library/ea5ht6ax(v=vs.84).aspx
Я хочу, чтобы понять, что именно здесь происходит.
Параметр 'objPropFilesList' является' TextStream' объект, который не имеет 'свойство Count', если это не ошибка и просто * «пропускает» *, то вероятной причиной является неверная строка 'On Error Resume Next' где-то в коде, который не показан в вопросе. Если 'On Error Resume Next' установлен где-то в глобальной области, он будет влиять на все, поэтому при возникновении ошибок они будут пропущены. – Lankymart