질문하기 전에, 제 영어를 유감스럽게 생각하며 제 모국어가 아닙니다.File.Exists는 파일이 존재하지 않을 때에도 항상 true를 반환합니다.
나는 제목이 그 자체로 설명한다고 생각하는데 사용자 PC가 system32 폴더에 dll을 갖고 있는지 알고 싶지만 .dll을 데스크톱으로 옮기더라도 File.Exists는 True를 반환합니다.
내가 사용하고 코드 :
Imports System.IO
Public sys32Path As String = "C:\Windows\System32\"
If File.Exists(sys32Path + "d3dx9_42.dll") = True Then
ListBox1.Refresh()
ListBox1.Items.Add(sys32Path + "d3dx9_42.dll | Found !")
fstDLL = True
ElseIf File.Exists(sys32Path + "d3dx9_42.dll") = False Then
ListBox1.Refresh()
ListBox1.Items.Add("d3dx9_42.dll | Missing !")
fstDLL = False
End If
질문과는 별개로 정말로 중요하지는 않지만'= True' 또는'= False'를 넣을 필요가 없다. File.Exists는 이미 True 또는 False를 반환하므로 True 테스트를 위해 아무것도 넣지 말고 False 테스트에'Not'을 사용하십시오 Exists가 True가 아니라면 False 일 수 있기 때문에'ElseIf' 부분이 전혀 필요없고'Else'를 사용할 수 있습니다 – Sehnsucht
@Sehnsucht 예, ElseIf는 습관입니다. 나는 이것을 다시 읽었을 때 (이미 변경됨, btw) = True이면 반환 값에 문제가있는 것입니다. – SokomoKud