C# 在c中运行命令提示符命令#
有没有办法在C应用程序中运行命令提示符命令?我需要一台计算机的名称,但唯一可以访问它的方法是在cmd提示符中键入 nslookup myipAddress 比如如果我的ip是134.123.12.12,我会打字 nslookup 134.123.12.12 它在Name:之后返回的值就是我要找的。我如何在c#控制台应用程序中实现这一点 我已经试过使用C# 在c中运行命令提示符命令#,c#,ip-address,nslookup,C#,Ip Address,Nslookup,有没有办法在C应用程序中运行命令提示符命令?我需要一台计算机的名称,但唯一可以访问它的方法是在cmd提示符中键入 nslookup myipAddress 比如如果我的ip是134.123.12.12,我会打字 nslookup 134.123.12.12 它在Name:之后返回的值就是我要找的。我如何在c#控制台应用程序中实现这一点 我已经试过使用 string name1 = Environment.MachineName; Console.WriteLine(name1); string
string name1 = Environment.MachineName;
Console.WriteLine(name1);
string name2 = System.Net.Dns.GetHostName();
Console.WriteLine(name2);
string name3 = System.Net.Dns.GetHostEntry("localhost").HostName;
Console.WriteLine(name3);
string name4 =DNSLookup("134.123.12.12");
string name5 = System.Net.Dns.GetHostEntry(134.123.12.12).HostName;
Console.WriteLine(name5);
但是这些都不能产生正确的名称,它们只是给我计算机的服务器/主机名。有什么想法吗?您是否尝试使用:
System.Net.Dns.GetHostByAddress("134.123.12.12").HostName
我有一些代码可能对你有用 在这里,它将显示您的internet名称:
string name = System.Net.Dns.GetHostEntry("192.168.1.254").HostName;
Console.WriteLine(name);
Console.ReadLine();
以下是您的IP地址:
System.Net.IPHostEntry host;
string localIP = "?";
host = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
foreach (System.Net.IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
{
localIP = ip.ToString();
Console.WriteLine(localIP);
}
}
Console.ReadLine();
return;
这可能不是最好的方式,但它的工作
希望这有帮助 这将执行您在/C之后发出的任何命令
string CmndTxt;
CmndTxt = "/C your command;
System.Diagnostics.Process.Start("CMD.exe", CmndTxt);
例如:
string Cmndtxt;
CmndTxt = "/C ping " + IPtextBox.Text;
System.Diagnostics.Process.Start("CMD.exe", CmndTxt);
关于C#应用程序中的
运行命令提示符命令
google提供了很多帮助,该值应该是通过使用IP执行GetHostEntry
而不是“localhost”(就像上面的name3
一样)@Joe GetHostEtry返回主机名,这不是我要找的名字。nslookup
就是这样做的。你能发布你看到和期望的具体输出吗?这就是名称:
应该是什么。我投了反对票,因为标题与问题不匹配,并且显示没有足够的研究。这会给你一个错误,因为你至少需要添加一个“;”,甚至两个括号。至少从.NET 3.5开始,该方法就被标记为不推荐使用。它似乎有效,但它告诉您使用GetHostEntry
。