gpt4 book ai didi

c# - 带有参数和 STDOUT 重定向的 Windows 任务计划程序作业

转载 作者:可可西里 更新时间:2023-11-01 09:38:15 25 4
gpt4 key购买 nike

我有一个命令行程序,它要么没有参数,要么只有一个参数。如果没有提供参数,它会提示输入参数,代码如下:

String theParameter = String.Empty;
if (args.Length == 1) theParameter = args[0];
else {
Console.Write("Please provide theParameter: ");
theParameter = Console.ReadLine();
}
Console.WriteLine("Some Output");

它按预期交互工作:

> myprogram
Please provide theParameter:
{a value provided}
Some Output

> myprogram SomeValue
Some Output

> myprogram SomeValue > results.log
{Some Output in the results.log file)

所有工作都按预期进行。

同样,当我将 Windows 7 任务计划程序与 myprogram SomeValue 一起使用时,它会按预期启动、执行和完成。

然而,当我使用 myprogram SomeValue > results.log 将 STDOUT 重定向到一个文件时,它会启动、运行并且永远不会完成。如果我手动运行该作业(通过右键单击并从 Task Scheduler 运行),它会弹出一个控制台窗口,其中显示 Please provide the Parameter

我的问题是:如果我将 STDOUT 重定向到文件,为什么 Windows 任务计划程序作业会短路我传递给程序的参数?

最佳答案

输出重定向 may or may not work with the Windows Task Scheduler .解决方法是在批处理文件中运行所需的命令(包括输出重定向),并从任务计划程序调用批处理文件。

script.bat
----------
myprogram SomeValue > results.log

关于c# - 带有参数和 STDOUT 重定向的 Windows 任务计划程序作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15976931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com