使用.NET在Web服务中调用批处理

3

我有一个批处理脚本,它以一个图片的源文件为参数并输出修改后的图片。我能把这个批处理放在服务器上,并通过WebService调用它吗?


有很多种方法。你目前尝试了什么,遇到了什么问题? - PA.
我正在寻找一个基本的使用示例。我不知道从哪里开始。 - Ryan
1个回答

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命令),并且会产生一些副作用。

谢谢,不过我还想问一下,如何使用参数调用test.bat -n 5? - Ryan
尝试将示例中的“arguments”更改为“-n 5”。 - PA.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接