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

有人有什么想法吗?

有帮助吗?

解决方案

试试这个:

procInfoConvert.WorkingDirectory = ConverterPath

这将设置该过程以在其中包含的目录中开始,而不是当前目录。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top