【发布时间】:2018-11-29 06:28:36
【问题描述】:
我有一个 C# Web 应用程序,我想在其中一一执行 Unix 命令。我希望出现命令提示符窗口,然后在每个命令执行后,移动到下一个命令,然后退出窗口。我尝试了以下方法,但没有出现命令提示符窗口,并且每次等待后命令都没有执行
public void connecterOne()
{
try
{
using (Process p = new Process())
{
// set start info
p.StartInfo = new ProcessStartInfo("cmd.exe")
{
RedirectStandardInput = true,
RedirectStandardOutput = true,
UseShellExecute = false,
WorkingDirectory = @"c:\"
};
// event handlers for output & error
p.OutputDataReceived += p_OutputDataReceived;
p.ErrorDataReceived += p_ErrorDataReceived;
// start process
p.Start();
// send command to its input
p.StandardInput.Write("ftp server" + p.StandardInput.NewLine);
p.StandardInput.Write("username" + p.StandardInput.NewLine);
p.StandardInput.Write("pwd" + p.StandardInput.NewLine);
string output = p.StandardOutput.ReadToEnd();
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
static void p_ErrorDataReceived(object sender, DataReceivedEventArgs e)
{
Process p = sender as Process;
if (p == null)
return;
Console.WriteLine(e.Data);
}
static void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
Process p = sender as Process;
if (p == null)
return;
Console.WriteLine(e.Data);
}
如何一一执行命令并打开显示正在执行的命令的命令提示符窗口。我没有收到任何错误,但没有看到输出。
【问题讨论】:
-
你想在服务器上执行那些命令,对吧?
-
我觉得有问题..
cmd.exeonunix?听起来很尴尬..你是说窗口服务器还是什么?? -
我想从 cmd 执行命令
-
来自下面的评论:“但我没有看到打开的命令提示框和正在添加的命令” - 你为什么会这样?你希望在哪里看到这个?在 ASP.NET 服务器机器上?
标签: c# command-prompt