在c#中运行命令提示符命令
本文关键字:命令提示符 命令 运行 | 更新日期: 2023-09-27 18:25:44
有没有办法在C#应用程序中运行命令提示符命令?我需要一台计算机的名称,但我可以访问它的唯一方法是输入cmd提示符。
nslookupmyIPAdress
就像如果我的ip是134.123.12.12,我会打字;
nslookup 134.123.12.12
它在名称:之后返回的值就是我想要的。我该如何在c#控制台应用程序中获得它?
我已经试过使用
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);
但这些都没有产生正确的名称,它们只是给我计算机的服务器/主机名。有什么想法吗?
我得到了一些可能对您有用的代码。
在这里,它会给你你的互联网名称:
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;
这可能不是最好的方法,但它有效!
希望这能有所帮助!!
您是否尝试使用:
System.Net.Dns.GetHostByAddress("134.123.12.12").HostName
这将执行放在/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);