0
我有批处理文件运行批处理文件:用下面的代码sample.bat:无法从Windows服务应用程序
@ECHO OFF
SET /a INT1=%1
SET /a INT2=%2
SET /a ANSWER=INT1*INT2
ECHO %ANSWER%
PAUSE
还创造了另一个批处理文件:cmdSample.bat
与下面的代码:
样品2 4
所以,如果我运行cmdSample.bat文件,它会给我正确的结果。
后,我已创建1和Windows服务应用程序中,我试图调用批处理文件,并通过命令,如下所示:
private void DoWork()
{
try
{
string fname = @"C:\Users\of4\Desktop\sample.bat";
string cmd = "sample 2 4";
RunSampleBatch(fname, cmd);
}
}
private void RunSampleBatch(string fname, string cmd)
{
Process p = new Process();
p.StartInfo.FileName = fname;
p.StartInfo.Arguments = cmd;
p.Start();
}
谁能帮助我,为什么我不能够执行批处理通过Windows服务应用程序文件?
在此先感谢..
感谢您的回复 有我的错误。修改后的代码是: 而我必须将cmdSample.bat文件放在应用程序的bin \ debug文件夹中。然后它工作正常。 但是当我尝试使用安装项目安装Windows服务时,它不起作用。它需要默认路径为:C:\ WONDOWS \ System32下 – Alpa 2013-04-04 07:12:09
修改后的代码: 私人无效ScheduledProcess() { 尝试 { 串CMD = “cmdSample.bat”; RunSampleBatch(cmd); } } 私人无效RunSampleBatch(串CMD) { 的ProcessStartInfo ProcessInfo =新的ProcessStartInfo(); ProcessInfo = new ProcessStartInfo(“cmd.exe”,“/ c”+ cmd); Process.Start(ProcessInfo); } – Alpa 2013-04-04 08:36:17
“不起作用”不是有效的错误描述。你需要提出一个很好的问题来帮助你。 – nvoigt 2013-04-04 09:46:09