我想将我的一个unix文本文件转换为一个dos文本文件。我正在使用以下命令:VB.NET shell命令抛出文件未找到异常
Shell(string.format("unix2dos {0}", sFileCompletePath))
我已经在服务器上的环境路径中添加了unix2dos命令。
但是,当我执行上述命令时,即使文件位于磁盘上,我也会得到FileNotFound异常。
有什么我错过了吗?
我想将我的一个unix文本文件转换为一个dos文本文件。我正在使用以下命令:VB.NET shell命令抛出文件未找到异常
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))
如果你想拥有对过程更多的控制,它可能是更好地使用克里斯张贴的例子。
我没有检查,发现我的路径中没有空格。 :( – Shailendra 2009-07-16 14:22:30
这工作对我来说,谢谢 – 2009-09-03 13:32:56