通过.net中的Web服务调用批处理

时间:2011-09-27 11:07:10

标签: wcf batch-file

我有一个批处理脚本,它将图像的源作为参数输出并输出修改后的图像。我可以将批处理放在服务器上并通过Web服务调用吗?

1 个答案:

答案 0 :(得分:3)

为了帮助您入门,这里有一些信息和指向不同选择的指针。试试它们,看看哪一个更贴切地解决了你的要求并为你工作。

最简单的,只需调用Process.Start()将完整的文件规范传递给批处理文件

Process.Start("c:\bats\test.bat")

如果需要更多控制,可以创建Process.StartInfo并将其传递给Process.Start方法。我还没有测试过这段代码。

Process p= new Process();
p.StartInfo.WorkingDirectory = "C:\temp";
p.StartInfo.FileName = "c:\bats\test.bat";
p.StartInfo.Arguments =  "arguments";
p.StartInfo.CreateNoWindow = false;
p.Start();
p.WaitForExit();

更复杂的方式是运行CMD并向其发送命令。查看此文http://codebetter.com/brendantompkins/2004/05/13/run-a-bat-file-from-asp-net/ 但是,这是一个相当粗略和暴力的批量执行,可能不适用于所有BAT文件(例如那些具有%%变量的FOR命令)并且有一些副作用。