c#扩展方法奇思妙用变态篇四:string 的翻身革命
2010-09-30 20:46:06 来源:WEB开发网还是感觉不过瘾,想要删除整个硬盘的文件,用上面的一个一个来也太麻烦了。也没问题,看下面:
3. 执行DOS命令,先看两个简单的
1 string output1 = "del c:\\t1.txt".ExecuteDOS();
2 string output2 = "dir".ExecuteDOS();
实现也用了Process类,如下:
1 public static string ExecuteDOS(this string cmd)
2 {
3 Process process = new Process();
4 process.StartInfo.FileName = "cmd.exe";
5 process.StartInfo.UseShellExecute = false;
6 process.StartInfo.RedirectStandardInput = true;
7 process.StartInfo.RedirectStandardOutput = true;
8 process.StartInfo.RedirectStandardError = true;
9 process.StartInfo.CreateNoWindow = true;
10 process.Start();
11 process.StandardInput.WriteLine(cmd);
12 process.StandardInput.WriteLine("exit");
13 return process.StandardOutput.ReadToEnd();
14 }
DOS命令也会有异常发生,下面的实现可通过out参数返回错误信息:
ExecuteDOS
1 public static string ExecuteDOS(this string cmd, out string error)
2 {
3 Process process = new Process();
4 process.StartInfo.FileName = "cmd.exe";
5 process.StartInfo.UseShellExecute = false;
6 process.StartInfo.RedirectStandardInput = true;
7 process.StartInfo.RedirectStandardOutput = true;
8 process.StartInfo.RedirectStandardError = true;
9 process.StartInfo.CreateNoWindow = true;
10 process.Start();
11 process.StandardInput.WriteLine(cmd);
12 process.StandardInput.WriteLine("exit");
13 error = process.StandardError.ReadToEnd();
14 return process.StandardOutput.ReadToEnd();
15 }
- ››扩展Axis2框架,支持基于JVM的脚本语言
- ››扩展WebSphere Portal V6个性化功能
- ››扩展JavaScript的时候,千万要保留其原来的所有功...
- ››扩展数据:如何为 Model 750 服务器选择 I/O 扩展...
- ››扩展 JDT 实现自动代码注释与格式化
- ››扩展 secldap 的功能以验证多个数据源
- ››扩展 JUnit4 以促进测试驱动开发
- ››扩展 JUnit 测试并行程序
- ››扩展的ToolStripEx控件
- ››扩展 Eclipse 的 Java 开发工具
- ››扩展 Eclipse 辅助和规范开发流程
- ››扩展方法 DataTable 和List 相互转换
更多精彩
赞助商链接