通过c#代码将参数传递给在cmd中运行的命令
这是解释 有一个命令“admin setserver systempw”用于设置密码。在cmd中键入该命令后单击“回车”,它将提示用户输入。我们必须输入一个字符串并点击“回车”,这将把该字符串设置为命令中提到的服务器的密码。现在我必须用c代码自动执行。屏幕应有2个输入文本框和一个按钮。输入是服务器名称和密码。单击该按钮后,它应该执行顶部提到的命令,将作为命令输入输入的服务器名称和密码关联起来。使用这些教程,我可以创建一个运行第一个命令的进程。但是,我无法关联密码。如何将该密码与我提到的命令所做的提示相关联 C:/>管理员设置服务器系统“单击输入” 请输入密码:Sai@45678'单击输入' 密码已成功设置 这就是我正在尝试编写的代码通过c#代码将参数传递给在cmd中运行的命令,c#,.net,command-line,cmd,command-prompt,C#,.net,Command Line,Cmd,Command Prompt,这是解释 有一个命令“admin setserver systempw”用于设置密码。在cmd中键入该命令后单击“回车”,它将提示用户输入。我们必须输入一个字符串并点击“回车”,这将把该字符串设置为命令中提到的服务器的密码。现在我必须用c代码自动执行。屏幕应有2个输入文本框和一个按钮。输入是服务器名称和密码。单击该按钮后,它应该执行顶部提到的命令,将作为命令输入输入的服务器名称和密码关联起来。使用这些教程,我可以创建一个运行第一个命令的进程。但是,我无法关联密码。如何将该密码与我提到的命令所做的
string servername = TextBox1.Text;
ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c admin setserver systempw " + servername );
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
procStartInfo.CreateNoWindow = true;
procStartInfo.WorkingDirectory = @"C:/";
Process proc = new Process();
proc.StartInfo = procStartInfo;
proc.Start();
string result = proc.StandardOutput.ReadToEnd();
MessageBox.Show("Done! " + result);
如何将第二个文本框值(密码)作为参数关联到进程。如何将密码链接到它发出的提示“请输入密码:”
请解释。您是否尝试写入标准输入
procStartInfo.RedirectStandardInput = true;
...
proc.StandardInput.WriteLine(password);
您不能,因为“请输入密码:”属于“admin setserver systempw”进程。代码C#只是启动进程,您需要重定向输入和输出,并使用它们发送输入。