以下是我当前的if语句。我正在尝试检查某些文件是否存在,并且看起来我的第一次检查,(或/和)没有拾取任何这些文件,从而失败到msgbox语句。我添加了()我认为它有意义,但仍然没有拿起任何文件。
目前,文件2.txt和4.txt确实存在于C:\ Temp。
中有关我缺少的任何建议吗?
If (My.Computer.FileSystem.FileExists("C:\Temp\1.txt") Or _
My.Computer.FileSystem.FileExists("C:\Temp\2.txt") Or _
My.Computer.FileSystem.FileExists("C:\Temp\3.txt")) And _
My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then
<<do something here1>>
Else
Msgbox("No files exist.")
EndIf
答案 0 :(得分:0)
最终我错过了一个人。
感谢@Dan Puzey建议使用Boolean
检查文件是否存在。使用它时,我的文件确实不存在,因为该文件有一个额外的空间。
我最后仍然使用IF语句,添加了两个额外的parens,现在它似乎正在工作。
@varocarbas最初建议这是一个答案(虽然不太确定为什么它被删除了)但是想在信用到期时给予信任。
If ((My.Computer.FileSystem.FileExists("C:\Temp\1.txt") Or _
My.Computer.FileSystem.FileExists("C:\Temp\2.txt") Or _
My.Computer.FileSystem.FileExists("C:\Temp\3.txt"))) And _
My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then
<<do something here1>>
Else
Msgbox("No files exist.")
EndIf
答案 1 :(得分:-1)
如果要检查所有文件都存在,请使用AndAlso
:
如果所有四个文件都存在,则返回true
If My.Computer.FileSystem.FileExists("C:\Temp\1.txt") AndAlso
My.Computer.FileSystem.FileExists("C:\Temp\2.txt") AndAlso
My.Computer.FileSystem.FileExists("C:\Temp\3.txt") AndAlso
My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then
<<do something here1>>
Else
Msgbox("No files exist.")
EndIf
如果您想检查文件中是否存在任何文件,请使用OrElse
如果存在这些文件,则返回true
If My.Computer.FileSystem.FileExists("C:\Temp\1.txt") OrElse
My.Computer.FileSystem.FileExists("C:\Temp\2.txt") OrElse
My.Computer.FileSystem.FileExists("C:\Temp\3.txt") OrElse
My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then
<<do something here1>>
Else
Msgbox("No files exist.")
EndIf