我有一个命令行进程,我想在 C# 中自动化和捕获。
在命令行中,我输入:
nslookup
这将启动一个 shell,它给我一个 > 提示。在提示符下,我输入:
ls -a mydomain.local
这将从我的主 DNS 服务器和它们所连接的物理机返回本地 CNAME 列表。
我想做的是从 C# 自动化这个过程。如果这是一个简单的命令,我将只使用 Process.StartInfo.RedirectStandardOutput = true,但第二步的要求让我感到困惑。
最佳答案
ProcessStartInfo si = new ProcessStartInfo("nslookup");
si.RedirectStandardInput = true;
si.RedirectStandardOutput = true;
Process nslookup = new Process(si);
nslookup.Start();
nslookup.StandardInput.WriteLine("ls -a mydomain.local");
nslookup.StandardInput.Flush();
// use nslookup.StandardOutput stream to read the result.
关于c# - 使用 C# 捕获 nslookup shell 输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/353601/