[英]VB.NET shell command throwing a file not found exception
我試圖將我的一個unix文本文件轉換為dos文本文件。 我使用以下命令:
Shell(string.format("unix2dos {0}", sFileCompletePath))
我已經在服務器上的環境路徑中添加了unix2dos命令。
但是當我執行上面提到的命令時,即使文件位於磁盤上,我也會收到FileNotFound異常。
我有什么遺漏的嗎?
我建議這樣做:
Public Sub ShellandWait(ByVal ProcessPath As String, ByVal Arguments As String)
Dim objProcess As System.Diagnostics.Process
Try
objProcess = New System.Diagnostics.Process()
objProcess.StartInfo.Arguments = Arguments
objProcess.StartInfo.FileName = ProcessPath
objProcess.StartInfo.WindowStyle = ProcessWindowStyle.Maximized
objProcess.Start()
'Wait until it's finished
objProcess.WaitForExit()
'Exitcode as String
Console.WriteLine(objProcess.ExitCode.ToString())
objProcess.Close()
Catch ex As Exception
Console.WriteLine("Could not start process " & ProcessPath & " " & ex.Message.ToString)
End Try
End Sub
它更復雜,但可以為您的流程提供更多功能。
如果sFileCompletePath
包含空格,它可以通過在其周圍添加雙引號來解決它:
Shell(String.Format("unix2dos ""{0}""", sFileCompletePath))
如果您想要更好地控制流程,最好使用Chris發布的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.