首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Process.Start

如何使用Process.Start
EN

Stack Overflow用户
提问于 2010-08-28 01:46:56
回答 1查看 2.2K关注 0票数 2

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

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

问题:"Convert.exe“无法转换其文件夹中的文件。相反,由于某种奇怪的原因,它正在转换FolderA中的所有文件。我不知道为什么它选择了那个文件夹,我甚至从来没有试着把它作为一个参数或者什么都不发送。

下面是我的代码:

代码语言:javascript
复制
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“文件夹中,然后运行以下代码:

代码语言:javascript
复制
process.start(ConverterPath & "Convert.exe")

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

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

有没有人有主意?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-28 01:51:16

试试这个:

代码语言:javascript
复制
procInfoConvert.WorkingDirectory = ConverterPath

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

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

https://stackoverflow.com/questions/3586836

复制
相关文章

相似问题

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