gpt4 book ai didi

c# - 在 C# 中使用 CMD.exe 时出现 "Multi-Step"命令

转载 作者:可可西里 更新时间:2023-11-01 11:44:56 27 4
gpt4 key购买 nike

我正在尝试在 C# 脚本中使用“多步”命令,例如命令“net user usrname *”包含 3 个步骤来输入密码然后验证,我不知道是否可行在进程运行时发送额外的参数

我的代码:

Process p = new Process();
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = "/C " + command;
p.StartInfo.WorkingDirectory = startupFolder;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.UseShellExecute = false;
p.Start();
string output = p.StandardOutput.ReadToEnd();
string error = p.StandardError.ReadToEnd();

最佳答案

您可以用“&”连接每个命令。例如,“cmd/k echo Test 1 & echo test 2”。

编辑:

我不久前创建了一个远程控制/远程管理解决方案,它使用相同的技术允许您通过 Web 门户对远程计算机运行批处理和 PowerShell 脚本。如下面的屏幕截图所示,它可以正常工作。

enter image description here

可在此处找到执行命令的 C#:https://github.com/Jay-Rad/InstaTech_Client/blob/master/InstaTech_Service/Socket.cs#L614

if (cmdProcess == null || cmdProcess.HasExited)
{
var psi2 = new ProcessStartInfo("cmd.exe", "/k " + command);
psi2.RedirectStandardOutput = true;
psi2.RedirectStandardInput = true;
psi2.RedirectStandardError = true;
psi2.UseShellExecute = false;
psi2.WorkingDirectory = Path.GetPathRoot(Environment.SystemDirectory);

cmdProcess = new Process();
cmdProcess.StartInfo = psi2;
cmdProcess.EnableRaisingEvents = true;
cmdProcess.OutputDataReceived += async (object sender, DataReceivedEventArgs args) =>
{
jsonMessage.Status = "ok";
jsonMessage.Output = args.Data;
await SocketSend(jsonMessage);

};
cmdProcess.ErrorDataReceived += async (object sender, DataReceivedEventArgs args) =>
{
jsonMessage.Status = "ok";
jsonMessage.Output = args.Data;
await SocketSend(jsonMessage);
};
cmdProcess.Start();
cmdProcess.BeginOutputReadLine();
cmdProcess.BeginErrorReadLine();
}
else
{
cmdProcess.StandardInput.WriteLine(command);
}

关于c# - 在 C# 中使用 CMD.exe 时出现 "Multi-Step"命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47847494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com