如何使用Process.Start

时间:2010-08-27 17:46:56

标签: vb.net process.start

我正在使用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时,它会将文件复制到另一个位置并从那里运行。

任何想法?

1 个答案:

答案 0 :(得分:2)

试试这个:

procInfoConvert.WorkingDirectory = ConverterPath

这将把进程设置为从它所包含的目录开始,而不是当前目录。