[英]checking a if directory exists, Concenating variable with path?
我正在制作程序/安裝程序,需要檢查目錄是否在-C:\\ Users \\%USERNAME%\\ Appdata下,依此類推。 這兩個%無效,我想那只是批量的。 所以我嘗試了另一種方式
編輯!!
所以我修改了我的代碼,但仍然是一個錯誤,這次您可以看到我的所有代碼,我知道它的效率很低。 謝謝!
公開課表格1
Dim reflex As Boolean
Dim nodus As Boolean
Dim rinstalled As Boolean
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles install.Click
If ComboBox1.SelectedIndex = 0 Then
If reflex = True Then
Process.Start("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\installReflex.bat")
End If
End If
If ComboBox1.SelectedIndex = 1 Then
If nodus = True Then
Process.Start("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\installNodus.bat")
End If
End If
End Sub
Private Sub dlclient_Click(sender As Object, e As EventArgs) Handles dlclient.Click
If ComboBox1.SelectedIndex = 0 Then
My.Computer.Network.DownloadFile("http://download1644.mediafire.com/s111t3phtatg/bqsuh8c4f2n8w99/Reflex.jar", "C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.jar")
My.Computer.Network.DownloadFile("http://download763.mediafire.com/93aqmg62kvqg/5jfpe65usw3tajw/Reflex.json", "C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.json")
My.Computer.Network.DownloadFile("http://download939.mediafire.com/cr8u67j6ce3g/60ewsmp3l35e1mt/installReflex.bat", "C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\installReflex.bat")
status.ForeColor = Color.Green
status.Text = "Client Downloaded!"
End If
If ComboBox1.SelectedIndex = 1 Then
My.Computer.Network.DownloadFile("http://download903.mediafire.com/qmqiiyb1128g/6q6libdtwvgp0kt/NodusLauncher.jar", "C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.jar")
My.Computer.Network.DownloadFile("http://download1835.mediafire.com/4w9bh91tf9qg/ug7jsnj0gkxu2gp/NodusLauncher.json", "C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.json")
My.Computer.Network.DownloadFile("http://download1346.mediafire.com/ecje8cg9wdug/uqm37mk1k4qxi59/installNodus.bat", "C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\installNodus.bat")
status.ForeColor = Color.Green
status.Text = "Client Downloaded!"
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Start()
Timer2.Start()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If ComboBox1.SelectedIndex = 0 Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.jar") Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.json") Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\installReflex.bat") Then
If My.Computer.FileSystem.DirectoryExists("C:\Users\" & SystemInformation.UserName & "\AppData\.minecraft\versions\Reflex") Then
install.Enabled = False
dlclient.Text = "Client installed"
Else
reflex = True
status.ForeColor = Color.Green
status.Text = "Client Downloaded!"
dlclient.Enabled = False
install.Enabled = True
dlclient.Text = "Client Already Downloaded"
End If
Else
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.json")
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.jar")
End If
Else
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.jar")
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\installReflex.bat")
End If
Else
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.json") Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\installReflex.bat") Then
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\Reflex.json")
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Reflex\installReflex.bat")
End If
Else
dlclient.Enabled = True
install.Enabled = False
status.ForeColor = Color.Red
status.Text = "Client not downloaded"
dlclient.Text = "Download Client"
End If
End If
End If
If ComboBox1.SelectedIndex = 1 Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.jar") Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.json") Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\installNodus.bat") Then
If My.Computer.FileSystem.DirectoryExists("C:\Users\" & SystemInformation.UserName & "\AppData\.minecraft\versions\NodusLauncher") Then
install.Enabled = False
dlclient.Text = "Client Installed"
status.Text = "Client Installed"
Else
nodus = True
status.ForeColor = Color.Green
status.Text = "Client Downloaded!"
dlclient.Enabled = False
install.Enabled = True
End If
Else
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.json")
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.jar")
End If
Else
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.jar")
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\installNodus.bat")
End If
Else
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.json") Then
If System.IO.File.Exists("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\installNodus.bat") Then
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\NodusLauncher.json")
My.Computer.FileSystem.DeleteFile("C:\Program Files (x86)\MCHaxor\bin\clients\1.8\Nodus\installNodus.bat")
End If
Else
dlclient.Enabled = True
install.Enabled = False
status.ForeColor = Color.Red
status.Text = "Client not downloaded"
dlclient.Text = "Download Client"
End If
End If
End If
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
about.Show()
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
End Sub
末級
正如我在上面的評論中所述,您正在檢查的目錄是錯誤的,因為其中包含無效的目錄名稱字符...
'**.minecraft is invalid for a directory name...**
If My.Computer.FileSystem.DirectoryExists("C:\Users\" & SystemInformation.UserName & "\AppData\.minecraft") Then
status.Text = "Client Installed"
install.Enabled = False
End If
編輯我不知道開始的時期,是的,這是一個有效的路徑。 我只是使用創建的文件夾再次進行了測試,效果很好。 不知道你還在做什么嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.