首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >VB.NET外壳命令引发找不到文件异常

VB.NET外壳命令引发找不到文件异常
EN

Stack Overflow用户
提问于 2009-07-16 09:48:28
回答 2查看 5.4K关注 0票数 4

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

代码语言:javascript
代码运行次数:0
运行
复制
Shell(string.format("unix2dos {0}", sFileCompletePath))

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

但是当我执行上面提到的命令时,即使文件位于磁盘上,我也会得到一个FileNotFound异常。

我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

发布于 2009-07-16 09:51:49

我建议这样做:

代码语言:javascript
代码运行次数:0
运行
复制
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

它更复杂,但给了你更多的权力来控制你的进程。

票数 3
EN

Stack Overflow用户

发布于 2009-07-16 10:29:05

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

代码语言:javascript
代码运行次数:0
运行
复制
Shell(String.Format("unix2dos ""{0}""", sFileCompletePath))

如果你想对这个过程有更多的控制,使用Chris发布的例子可能更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1136531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档