请教一个关于执行dos命令的问题
使用C#执行多行dos命令,我是这样写的
这段dos命令的目的就是远程关闭另一台机器(Linux系统)
我有两个问题:
1.每行用了一个p.StandardInput.WriteLine方法来执行一条dos语句,有没有更好的方法,比如批量执行?
2.如果使用这个方法执行这些dos语句时,会弹出一个telnet程序的窗口,如下图,有什么方法能够把这个telnet窗口隐藏或自动关闭

谢谢了
public void killRE()
{
string ip = txtIP.Text.Trim();
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine("@echo off");
p.StandardInput.WriteLine("set host=%1");
p.StandardInput.WriteLine("set hdvg=%2");
p.StandardInput.WriteLine("echo Starting RenderEngine on %hdvg% %host%. Please wait ...");
p.StandardInput.WriteLine("echo set sh=WScript.CreateObject(\"WScript.Shell\") >tmp.vbs");
p.StandardInput.WriteLine("echo WScript.Sleep 1000>>tmp.vbs");
p.StandardInput.WriteLine("echo sh.SendKeys \"open " + ip + "{ENTER}\">>tmp.vbs\n");
p.StandardInput.WriteLine("echo WScript.Sleep 1000>>tmp.vbs");
p.StandardInput.WriteLine("echo sh.SendKeys \"root{ENTER}\" >>tmp.vbs");
p.StandardInput.WriteLine("echo WScript.Sleep 1000>>tmp.vbs");
p.StandardInput.WriteLine("echo sh.SendKeys \"killall RE{ENTER}\" >>tmp.vbs");
p.StandardInput.WriteLine("echo WScript.Sleep 1000>>tmp.vbs");
p.StandardInput.WriteLine("start telnet");
p.StandardInput.WriteLine("cscript //nologo tmp.vbs");
p.StandardInput.WriteLine("del tmp.vbs");
p.Close();
}
这段dos命令的目的就是远程关闭另一台机器(Linux系统)
我有两个问题:
1.每行用了一个p.StandardInput.WriteLine方法来执行一条dos语句,有没有更好的方法,比如批量执行?
2.如果使用这个方法执行这些dos语句时,会弹出一个telnet程序的窗口,如下图,有什么方法能够把这个telnet窗口隐藏或自动关闭

谢谢了
...全文
相关推荐
Delphi模拟执行DOS命令
**安全性和权限**:模拟执行 DOS 命令可能涉及用户权限问题,因此开发者需要确保应用程序的安全性,避免执行可能导致系统不稳定或隐私泄露的命令。
JAVA执行DOS命令分析
**处理DOS可执行程序的标准输出**: 当执行的DOS程序有大量标准输出时,可能会遇到问题。
VC中执行DOS命令,获取返回值的例子
通过分析和学习这个示例,开发者可以更好地理解如何在VC项目中集成DOS命令的执行功能。需要注意的是,安全性和权限管理是执行外部命令时必须考虑的问题。
VS2005执行DOS命令
然而,在实际应用中,需要注意以下几点:- **权限问题**:执行DOS命令可能需要特定的用户权限,确保VS2005或命令执行者有足够的权限执行所需操作。
J-Dos v1(vb6写的执行dos命令的工具)
**J-Dos v1** 是一个基于VB6(Visual Basic 6)开发的程序,它允许用户在Windows环境下执行DOS命令。


