C# Winform 实现批量处理的操作

zyr987503101 2012-10-18 03:14:27
自己编写winform 程序点击一个按钮自动执行运行 “命令行测试.bat”,以达到双击”命令行测试.bat“一样的效果,这是一个压缩文件的功能,我的代码如下:
private void button4_Click(object sender, EventArgs e)
{
RunBAT(@"C:\Documents and Settings\Administrator\桌面\同步工具\4.7Z绿色版\命令行测试.bat","");
}
public string RunBAT(string epath, string arguments) //让 MASS-DELETE运行状态显示出来
{
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName =@"C:\Documents and Settings\Administrator\桌面\同步工具\4.7Z绿色版\命令行测试.bat";
psi.UseShellExecute = false;
psi.Arguments = arguments;
psi.CreateNoWindow = false;
psi.RedirectStandardOutput = true;
string s = "";
System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
while (p.WaitForExit(0) == false)
{
s += p.StandardOutput.ReadLine() + "\r\n";
}
return s;//返回.bat编辑内容
}

或者直接是:
private void button4_Click(object sender, EventArgs e)
{
Process p = Process.Start(@"C:\Documents and Settings\Administrator\桌面\同步工具\4.7Z绿色版\命令行测试.bat");
}
问题是并不像双击.bat那样能实现压缩的效果,请大家帮忙,好多地方都要执行这样的批量处理文件的代码,在线等候!
...全文
580 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hui_play 2012-10-18
  • 打赏
  • 举报
回复
分太少,不贴代码了啊
之前做过这样的程序,在窗口调用程序很简单了。关键是在你的批处理的路径问题,你可以在你的批处理的前几行加上切换目录的命令,就搞定了
xixiju203 2012-10-18
  • 打赏
  • 举报
回复
是你BAT文件的问题,虽然你执行的是C:\Documents and Settings\Administrator\桌面\同步工具\4.7Z绿色版\命令行测试.bat,但是CMD的当前目录是在你应用程序的启动目录,所以有可能会造成无法执行BAT中的可执行文件。
你可以尝试把这个WINFORM程序拷贝到BAT同目录来运行 或者你BAT文件第一行加上一条CD命令 切换到正确的工作目录。
liduoduo 2012-10-18
  • 打赏
  • 举报
回复
提示什么错误没有?
csdn_风中雪狼 2012-10-18
  • 打赏
  • 举报
回复
Process p = Process.Start(@"C:\Documents and Settings\Administrator\桌面\同步工具\4.7Z绿色版\命令行测试.bat");
==>
这个不行吗?
bdmh 2012-10-18
  • 打赏
  • 举报
回复
你现在是什么问题,什么现象,什么错误

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧