我不知道为什么或什么工作周围可能是,所以基本的事情,我想检查如果一个特定的.exe存在,如果是这样,继续否则带来错误消息。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCreateBackup.Click
Dim path As String = txtFirebirdPath.Text & "\gbak.exe"
If My.Computer.FileSystem.FileExists(path) Then
...
Else
...
End if
End Sub
- txtFirebirdPath是文本框的名称,在fodler选择之后,将选定路径作为文本。
虽然gbak.exe确实存在,但我的程序告诉我,它不是我已经尝试过的,如果它在我的桌面上,它可以找到它没有问题,所以在其他所有路径中,只是当它包括程序(x86)时,为什么?
完整表格代码:https://github.com/20Peety02/stackoverflow_issue * 问题在第145行 *
3条答案
按热度按时间7vhp5slm1#
对我来说很好。显示文件是否存在。
也许你的问题在其他地方,你需要检查代码的其余部分。
2jcobegt2#
传递给
My.Computer.FileSystem.FileExists
的字符串可能有两个反斜杠(在一行中),因此它将返回False:C:\Program Files (x86)\\gbak.exe
按照克雷格的建议,看看
System.IO.Path.Combine
,这个函数将返回一个正确构建的路径。vu8f3i0k3#
回答是:问题是什么@Zeddy指出之前,我检查在错误的地方,这是我guve到gbak.exe要执行的过程参数,因为我只有一个捕捉异常,它总是会落入未找到的msg...这是我的坏我纠正了语法,它现在工作的预期,感谢大家的帮助!