4

我正在尝试将我的一个 unix 文本文件转换为 dos 文本文件。我正在使用以下命令:

Shell(string.format("unix2dos {0}", sFileCompletePath))

我已经在服务器的环境路径中添加了 unix2dos 命令。

但是当我执行上述命令时,即使文件位于磁盘上,我也会收到 FileNotFound 异常。

有什么我错过的吗?

4

2 回答 2

3

我建议这样做:

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

它更复杂,但为您提供了对流程的更多权力。

于 2009-07-16T09:51:49.330 回答
1

如果sFileCompletePath包含空格,它可以通过在其周围添加双引号来解决它:

Shell(String.Format("unix2dos ""{0}""", sFileCompletePath))

如果您想更好地控制该过程,最好使用 Chris 发布的示例。

于 2009-07-16T10:29:04.700 回答