将参数从 BAT 文件或 VBS 传递到 Visual Fox Pro(.prg 文件)

Pass parameters from BAT file OR VBS to Visual Fox Pro (.prg files)

我有很多 .prg 文件,目前我每天都在使用它们。我必须手动输入的参数之一是今天的日期。

想法是,例如,日期将作为 .bat 或 .vbs 文件中的参数,当我 运行 bat 或 vbs 时...它会将参数传递给 .prg 文件并执行带有设置参数的 .prg 文件。

或者类似这样的东西...在 CMD

set date=20161019 do "n:\xxx\xxxx\xxx\xx\xx\xxxxx\ccc_ass.prg" date

只需 运行 VFP9.EXE 加上课程名称和你的日期。

"c:\Program Files (x86)\Microsoft Visual FoxPro 9\vfp9.exe" myprogram mydate

但是参数将始终作为字符串传递,因此您的程序必须将其转换为正确的类型。

您可以简单地将日期作为字符串传递(参数始终作为字符串传递)。这样做时,请始终使用不受日期设置影响的格式,并且会以相同的方式进行解释。 IOW 将其设为 yyyy/MM/dd 格式。即:

-.prg

lparameters theDateStr
local ldDate
if !empty( m.theDateStr )
   ldDate = cast( '^' + m.theDateStr as Date)
else
   ldDate = {}
endif
*...

并这样称呼它(2016 年 10 月 23 日):

vfp.exe yourprogram.prg 2016/10/23

OTOH,为什么不编辑 BAT 文件并通过 BAT 调用,为什么不编辑 prg 本身,或者让 prg 从外部源获取日期。