【问题标题】:How to use Process.Start如何使用 Process.Start
【发布时间】:2010-08-27 17:46:56
【问题描述】:

我正在使用 process.Start 来运行 Convert.exe。该程序的目的是转换 exe 文件夹中的所有文件。因此,当我通常使用它时,我将一个文件复制粘贴到与 Convert.exe 相同的文件夹中,然后运行 ​​Convert.exe。 Convert.exe 将在同一文件夹中创建一个新的“转换后”文件。

我正在尝试自动化这个繁琐的过程。用户选择需要从 FolderA 转换的文件,我将其复制到 Convert.exe 所在的同一文件夹中,并且我正在使用 process.start(Convert.exe) 来运行它。 为了清楚起见,这个“Convert.exe”不接受任何参数。

问题:“Convert.exe”没有转换其文件夹中的文件。相反,它出于某种奇怪的原因转换了 FolderA 中的所有文件。我不知道它为什么选择那个文件夹,我什至从来没有尝试将它作为参数发送或什么都不发送。

这是我的代码:

Dim techInfo As New System.IO.FileInfo(itm.strFilePath)             
techInfo.CopyTo(ConverterPath & techInfo.Name)

Dim procInfoConvert As New ProcessStartInfo
procInfoConvert.CreateNoWindow = False
procInfoConvert.Arguments = ""
procInfoConvert.FileName = ConverterPath & "Convert.exe"

Dim procConvert As Process = Process.Start(procInfoConvert)

我做了一个测试,我将粘贴的文件复制到“Convert.exe”文件夹中,然后运行以下代码:

process.start(ConverterPath & "Convert.exe")

exe不返回任何内容,就像文件夹中没有文件一样。

我唯一能想到的是,当 process.Start 运行时,它会将文件复制到另一个位置并从那里运行它。

有什么想法吗?

【问题讨论】:

    标签: vb.net process.start


    【解决方案1】:

    试试这个:

    procInfoConvert.WorkingDirectory = ConverterPath
    

    这会将进程设置为在它所在的目录而不是当前目录中启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多