控制台应用程序参数到任务计划程序参数(已关闭)

vas*_*ker 4 c# arguments scheduled-tasks

我对这个主题做了很多研究,但我发现的都是有关我不寻找的信息的误导性网站。所以我希望这里的任何人都能给我一个可靠的解释。

基本上,我有一个程序,我想在任务计划程序中使用它。但是无论我在框中给出将它们放入的参数,它总是说索引位于数组边界之外。

我知道参数与 args 相关联?那么谁能告诉我我的代码有什么问题吗?

public static void Main(string[] args)
{
   string paramList = string.Join("", args);
   string[] parameter = paramList.Split(',');

   string ScanPath = parameter[0]; //Which directory to scan
   string MailToAddress = parameter[1]; //Which e-mail to send the log to
   string ScanHours = parameter[2]; //How many hours to scan
}
Run Code Online (Sandbox Code Playgroud)

我在 codeproject 的某个地方找到了这个。我假设第一个 arg 链接到第一个参数,等等。

在任务计划程序中,我基本上浏览到已发布的可执行文件: 在此输入图像描述

当然,运行程序时, pathandmail部分会更长,但这只是示例。

我需要删除逗号吗?和/或添加-在每个参数前面?或者完全是另外一回事?

提前致谢!

C.E*_*uis 5

通常命令行参数由单个空格字符分隔,而不是逗号。此外,如果任何参数包含空格,则需要将参数用双引号引起来:

"C:\My Documents\xxx" x@y.z 10
Run Code Online (Sandbox Code Playgroud)

我不知道任务调度程序如何提供其参数,但您当然可以在使用参数之前记录它们,以准确查看传递给应用程序的内容。