簡體   English   中英

VB.NET shell命令拋出一個未找到異常的文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM