【发布时间】:2016-06-14 09:15:26
【问题描述】:
基本上我想要做的是能够接受一个字符串
byte[] RecPacket = new byte[1000];
//Read a command from the client.
Receiver.Read(RecPacket, 0, RecPacket.Length);
//Flush the receiver
Receiver.Flush();
//Convert the packet into a readable string
string Command = Encoding.ASCII.GetString(RecPacket);
并让应用程序将其放入命令行本身,而无需用户执行。就我所做的研究而言,我找不到直接做到这一点的方法。我找到了你这样做的迂回方式
switch (Command)
{
case "SHUTDOWN":
string shutdown = Command;
//Shuts it down
System.Diagnostics.Process SD = new System.Diagnostics.Process();
SD.StartInfo.FileName = "shutdown -s";
SD.Start();
break;
}
但这似乎不起作用,并且它也不允许您执行 Windows 命令行中可用的任何命令。我的目标是远程访问命令行并能够向其发送任何命令。有人可以帮我解决这个问题吗?
【问题讨论】:
-
你想运行
cmd /c shutdown -s来关机...关机是cmd里面的一个命令,本身不是一个可执行文件。 -
我相信这里已经回答了这个问题; stackoverflow.com/questions/1469764/run-command-prompt-commands
标签: c# command-line command