微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c#打开cmd.exe进程并执行多个命令

我想能够打开cmd并从窗口执行两个命令。 首先,我想导航到一个特定的目录,然后我可以运行第二个命令。 运行一个命令是非常简单的,因为我只需要这么做:

string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"Cisco SystemsVPN Client"; Process process = new Process(); processstartinfo processInfo = new processstartinfo("cmd.exe",@"/c cd " + path ); process.StartInfo = processInfo; process.Start();

但是我不确定如何添加第二个参数,以便在cmd运行第一个命令后运行。 一些研究将我引向了这个代码片段。 我不确定这是否工作,因为我的目标是从cmd启动cisco vpn客户端,这似乎并没有启动它。 这里是代码

string path = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) + @"Cisco SystemsVPN Client"; Process process = new Process(); processstartinfo processInfo = new processstartinfo("cmd.exe",@"/c cd " + path + "-t vpnclient connect user validuser pwd validpassword nocertpwd validconnectionentry "); process.StartInfo = processInfo; process.Start();

我曾经从cmd凭借凭据启动VPN客户端,以确保它们是有效的,它的工作,但我不能通过C#编程拉。

问候。

链接器返回“重定位在符号索引处具有无效符号…”

fork()的目的是什么?

函数名与序数值 – 从DLL模块获取函数地址

System.Management.ManagementException:未find

GetdiskFreeSpaceEx不同的调用时间

我怎样才能从另一个(C#)运行第二个应用程序

在Linux 64位上通过值传递结构到P / Invoked库?

使用三通连续输出一个C程序

在Linux中将filter连接到原始套接字 – C

Windows 8 sdk中的d3dx11.h

有三件事你可以做到,以达到你想要的。 最简单的方法是通过processstartinfo设置进程的工作目录。 这样你只需要执行命令来启动VPN客户端。

第二个选项是重定向进程的输入和输出。 (也通过processstartinfo完成)如果您需要向流程发送更多输入,或者想要检索刚刚启动的流程的输出,则可以执行此操作。

第三个选项是将这两个命令与&符号组合在一起。 使用&符号使cmd.exe按顺序执行这两个命令(请参阅这里了解可用符号的概述)。 使用这个选项会产生如下命令: /c cd path & vpnclient 。

但是因为您只是想使用第一个选项更改进程的工作目录,所以您的代码更具可读性。 因为读取你的代码的人不需要知道bash中的&符号来理解你的代码是干什么的。 使用processstartinfo ( MSDN )的WorkingDirectory ( MSDN )属性更改正在工作的directoy。 看下面的代码

var processInfo = new processstartinfo("cmd.exe",@"/c vpnclient connect user validuser pwd validpassword nocertpwd validconnectionentry "); processInfo.UseShellExecute = false; processInfo.WorkingDirectory = path;

只有在前一个命令成功的情况下,才可以使用&来执行下一个命令或&&来执行下一个命令。

例子:

dir /b & cls

taskkill /f /im explorer.exe && start explorer

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐