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는 텍스트 스트림을 반환합니다. count를 확인하기 위해 if 조건을 배치하면이 함수의 나머지 코드는 건너 뜁니다. 왜이 코드를 건너 뛰는 지 이해할 수 없습니다.FileSystemObject count 속성이 dir 명령에 의해 반환 된 파일 목록을 처리하는 방법
내 생각에, 아래 문서 에서처럼 Count 속성은 Dictionary 개체를 처리합니다. objPropFilesList는 파일 이름 목록을 반환하지만 사전 객체로 간주되지 않습니다.
https://msdn.microsoft.com/en-us/library/ea5ht6ax(v=vs.84).aspx
나는 바로 여기 일이 무엇인지 이해하고 싶다.
은'objPropFilesList'는 그것이 오류없는 경우 'Count' 속성을 갖지 않는'TextStream' 객체 및 그냥 * "건너 뜁니다"* 그럴 가능성이있는 원인은 질문에 표시되지 않은 코드의 어딘가에서 길잃은'On Error Resume Next' 행입니다. 'On Error Resume Next'가 전역 범위 어딘가에 설정되면 모든 것에 영향을 미치므로 오류가 발생할 때 조용히 건너 뜁니다. – Lankymart