если вариант с C# (про планировщик и не знал)
то так делал
private void atimer_Elapsed(object sender, EventArgs e)
{
try
{
//logger.Debug(DateTime.Now);
Process proc = null;
string targetDir = string.Format(AppDomain.CurrentDomain.BaseDirectory);//текущая папка AppDomain.CurrentDomain.BaseDirectory
logger.Debug(targetDir);
proc = new Process();
proc.StartInfo.WorkingDirectory = targetDir;
proc.StartInfo.FileName = "restart.bat";
proc.StartInfo.Arguments = string.Format("10");//this is argument
proc.StartInfo.CreateNoWindow = false;
proc.Start();
proc.WaitForExit();
}
catch (Exception msg)
{
logger.Trace(msg);
return;
}
}
где restart.bat
net stop "SrvcMOF_Stav";
sc start "SrvcMOF_Stav"