在代码中执行CMD命令
using System.Diagnostics;
class Program
{
static void Main()
{
Process.Start("example.txt");
}
}
哎呀:D不是最快
Process.Start("notepad C:\test.txt");
这里有一个简单的例子:
Process.Start("cmd","/C copy c:\\file.txt lpt1");
我试图,但第二个参数,参数并没有真的被传递到命令窗口,至少不是在Windows 8.1中 – William 2016-01-21 21:45:55
@William我在Windows 10中测试了它,它工作正常。 – 2016-08-02 04:52:23
@MahdiRafatjah我在Windows 7中测试了它,它也不起作用... idk ... – 2017-03-22 15:56:46
H嗷嗷你创造你想要的命令的批处理文件,并使用的Process.Start称之为
dir.bat内容:
dir
然后调用:
Process.Start("dir.bat");
将调用蝙蝠文件并执行目录
正如其他答案所述,您可以使用:
Process.Start("notepad somefile.txt");
但是,还有另一种方法。
您可以实例的Process对象,并调用启动实例方法:
Process process = new Process();
process.StartInfo.FileName = "notepad.exe";
process.StartInfo.WorkingDirectory = "c:\temp";
process.StartInfo.Arguments = "somefile.txt";
process.Start();
这样做,这样可以让你在启动过程之前配置更多的选择。 Process对象还允许您在执行过程中检索关于该过程的信息,并在过程完成时向您发出通知(通过Exited事件)。
此外:如果要挂钩“退出”事件,请勿忘记将'process.EnableRaisingEvents'设置为'true'。
,如果你想用CMD使用此代码来启动应用程序:
ProcessStartInfo proStart = new ProcessStartInfo();
Process pro = new Process();
proStart.FileName = "cmd.exe";
proStart.WorkingDirectory = @"D:\...";
string arg = "/c your_argument";
proStart.Arguments = arg;
proStart.WindowStyle = ProcessWindowStyle.Hidden;
pro.StartInfo = pro;
pro.Start();
不要忘了写:
string YourApplicationPath = "C:\\Program Files\\App\\MyApp.exe"
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.WindowStyle = ProcessWindowStyle.Hidden;
processInfo.FileName = "cmd.exe";
processInfo.WorkingDirectory = Path.GetDirectoryName(YourApplicationPath);
processInfo.Arguments = "/c START " + Path.GetFileName(YourApplicationPath);
Process.Start(processInfo);
你可以使用这个在C#工作CMD/c之前论点 !!
“pro.StartInfo = pro;”应该是“pro.StartInfo = proStart;”是? – amalgamate 2017-11-16 17:49:10
我对c,C++或c#不太了解,但是我建议编程它将代码写入批处理文件,运行批处理文件,然后删除批处理文件。 – 2017-03-11 03:04:54