我正在尝试将其中一个unix文本文件转换为dos文本文件。我使用以下命令:
Shell(string.format("unix2dos {0}", sFileCompletePath))
我已经在服务器上的环境路径中添加了unix2dos命令。
但是当我执行上面提到的命令时,即使文件位于磁盘上,我也会得到一个FileNotFound异常。
我是不是遗漏了什么?
发布于 2009-07-16 09:51:49
我建议这样做:
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-16 10:29:05
如果sFileCompletePath
包含空格,它可以通过在它两边添加双引号来解决它:
Shell(String.Format("unix2dos ""{0}""", sFileCompletePath))
如果你想对这个过程有更多的控制,使用Chris发布的例子可能更好。
https://stackoverflow.com/questions/1136531
复制相似问题