VB.NET 2010 - Process.Start(“filePath \ Test.bat”)没有打开test.bat?

时间:2017-04-02 16:18:53

标签: vb.net

我一直在研究一些vb.net 2010编码,我被困在一段代码上,我不知道如何修复它,所以这就是为什么我要求你帮我解释这段代码。





代码:




  Private Sub Form1_Load(sender As System.Object,e As System.EventArgs)处理MyBase。负载
 Dim url As New System.Uri(“http:// example / one /”)
 Dim req As System.Net.WebRequest
 req = System.Net.WebRequest.Create(url)
 Dim resp As System.Net.WebResponse
 Dim filePath As String
 filePath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)& “\ examplepath” 
尝试
 resp = req.GetResponse()
 resp.Close()
 req = Nothing
的Process.Start( “文件路径\将Test.exe”)
 Catch ex As Exception
 req = Nothing
 Me.Close()
结束尝试
结束子
  




问题:
%APPDATA%\ ExamplePath \ Test.bat中的文件没有打开。





我希望你能帮助我:)。




3 个答案:

答案 0 :(得分:2)

您需要使用cmd打开batfiles:

Process.Start("cmd", "/c foobar/test.bat")

小心,如果文件路径包含空格,则必须添加额外的""让它工作:) 你的问题是,.bat文件不是一个启动过程,只是一个文件

答案 1 :(得分:2)

这一行似乎是问题所在:

Process.Start("filePath\Test.exe")

这里你把一个变量作为一个字符串,这当然是行不通的。而是将其与文件名连接:

Process.Start(filePath & "\Test.exe")

这样可行,但处理文件系统的更好方法是使用Path类和Combine方法来处理包含多个部分的路径:

Process.Start(Path.Combine(filePath, "Test.exe"))

这涉及放置正确的分隔符以及它可能有也可能没有尾随反斜杠的事实。

答案 2 :(得分:1)

尝试声明新进程并指定// Gecko driver is extracted to "C:\GeckoDriverLocation\geckodriver.exe" Environment.SetEnvironmentVariable("PATH", @"C:\GeckoDriverLocation\"); IWebDriver driver = new FirefoxDriver(); driver.Navigate().GoToUrl("http://www.google.com"); 属性。

使用以下代码实现此目的

//e.g. Chrome driver location is in C:\ChromeDriverLocation\chromedriver.exe
IWebDriver driver = new ChromeDriver(@"C:\ChromeWebDriverLocation\");
driver.Navigate().GoToUrl("http://www.google.com");