如何在Delphi程序中识别命令行参数?

时间:2009-10-20 09:17:15

标签: delphi command-line parameters

我计划每隔X天使用任务计划程序运行特定的应用程序命令。我是否必须首先编写对命令行参数的支持,以便Scheduler可以执行它?

如果是这样,有没有人知道任何好的命令参数组件?

4 个答案:

答案 0 :(得分:19)

如果您只想读取在启动时传递给应用程序的任何cmd行参数,您可以使用Delphi的内置函数。

ParamCount   // Number of cmd params passed at startup
ParamStr(0) // string of param zero

所以叫你这样的程序

c:\myapp.exe -foo -bar

会给出以下结果

ParamStr(0) = c:\myapp.exe
ParamStr(1) = -foo
ParamStr(2) = -bar

答案 1 :(得分:16)

您可能希望从 SysUtils 单元考虑 FindCmdLineSwitch

function FindCmdLineSwitch(const SwitchValue:string):Boolean;
function FindCmdLineSwitch(const SwitchValue:string; IgnoreCase:Boolean):Boolean;
function FindCmdLineSwitch(const SwitchValue:string; SwitchChars:TSysCharSet; IgnoreCase:Boolean):Boolean;

这允许检查是否存在命令行开关,指定是否忽略其大小写并且可选地使用不同的切换字符,例如' - '或'/'

答案 2 :(得分:3)

VCL Scheduling Agent是Microsoft Task Scheduler API的包装器

答案 3 :(得分:1)

为什么我们内置Windows Scheduler呢?