如何通过asp.net schtasks向bat文件传递参数

3

我正在尝试使用Visual Studios 2005中的Windows Process.start服务来调用Windows任务计划程序(schtasks),该程序会调用bat文件。该过程正常工作,但是当我尝试将参数传递到bat文件时,它无法正常工作。

 public string RunSchtasks(string MachineName) 
{
    ErrorMessage = null;
    Process myProcess = new Process();
    ProcessStartInfo myProcessStartInfo = new ProcessStartInfo("schtasks");
    myProcessStartInfo.UseShellExecute = false;
    myProcessStartInfo.RedirectStandardError = true;
    myProcessStartInfo.RedirectStandardOutput = true;
    myProcessStartInfo.Arguments = "/run /s Machinename /tn mytest ParameterToPass2Bat"; 

   myProcess.StartInfo = myProcessStartInfo;

    try
    {
        myProcess.Start();
        StreamReader myStreamReader1 = myProcess.StandardOutput;
        string QueryResult = myProcess.StandardOutput.ReadToEnd();
    }

我的代码没有ParameterToPass2Bat部分也能正常运行。如果我想将这个参数传递到bat文件中,它就无法接受。有谁知道如何通过Schtasks使bat文件接收参数呢?

谢谢!!!

1个回答

1

schtasks.exe没有任何命令行功能来将参数传递到计划任务中。一种可能的方法是将参数文本保存在一个(临时)批处理文件中,其内容特别设计为将其设置为环境变量。然后,您只需从计划任务批处理文件中调用参数批处理文件,环境变量就会被设置。

参数批处理文件的内容应如下:

set parm=ParameterToPass2

您预定任务批处理文件的内容将执行参数批处理文件:
C:\wherever\argument.bat

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