[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[代码合集] DOS命令在C#中怎么调用

p.StartInfo.FileName = "cmd.exe";
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.CreateNoWindow = false;
            p.Start();
            p.StandardInput.WriteLine("start explorer");//这个括号里该怎么写命令?我发现好多命令都执行不了啊
            p.StandardInput.WriteLine("exit");
            string s = p.StandardOutput.ReadToEnd();
            p.Close();
1

评分人数

    • zm900612: 超过一行的代码请用code框起来PB -2

内部命令要用cmd解释执行。
加个cmd /c就行了,
  1. p.StandardInput.WriteLine("cmd /c start explorer");
复制代码

或者不要使用内部命令
  1. p.StandardInput.WriteLine("explorer");
复制代码

TOP

2# zm900612
是这样写吗?比如写一个dir e:\的命令,设为显示cmd窗体,我发现还是不显示任何内容啊

TOP

pause也是内部命令啊...
而且把命令分开来写,他们已经不是作用于同一个cmd中了的吧,试试这样:
  1. p.StandardInput.WriteLine("cmd /c start explorer&pause");
复制代码

TOP

4# zm900612

这样会弹出两个空窗口 = = 本想做一个打开软件和强制关软件的快捷方式的,就像桌面的图标一样,每点一个按钮就执行一句命令,但发现taskkill start+路径 等都会报错,至今没找到c#里dos命令怎么写。
不过也无所谓了,已经学会调用批处理文件了。但为每个按钮都写一个批处理太繁琐了= =

TOP

不太清楚
不过写到一个批处理中可以用函数的形式呀:
  1. ::在 C# 中使用“1.bat explorer”调用
  2. goto :%1
  3. :explorer
  4. start explorer
  5. pause
  6. exit
  7. :dir
  8. dir /b e:\
  9. pause
  10. exit
复制代码

TOP

返回列表