2

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

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

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

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
}

我在代码项目的某个地方找到了这个。我假设第一个 arg 链接到第一个参数等。

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

当然,运行程序时pathandmail部分要长得多,但这只是举例。

我需要删除逗号吗?和/或-在每个参数前面添加?还是完全不同的东西?

提前致谢!

4

2 回答 2

4

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

"C:\My Documents\xxx" x@y.z 10

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

于 2013-10-01T11:43:04.717 回答
1

虽然我认为你已经知道这一点,但可以肯定的是:你需要用空格分隔参数。此外,如果参数包含空格(例如路径),请将它们放在双引号中。

为什么不编写一个简单的测试应用程序,将完整的参数数组转储到文本文件中。那么你应该知道如何正确解释。

于 2013-10-01T11:45:39.997 回答