我有一个.bat文件来启动KDB并运行一些代码,然后将表导出到.csv。我想自动执行此任务,并使其每晚运行。我已经通过Task Scheduler将其设置为打开并运行.bat文件。
如果我手动运行.bat文件,它将成功保存.csv文件。但是,如果我通过Task Scheduler执行.bat文件,它将打开KDB并运行代码,但是.csv文件不会导出。
除了从Task Scheduler中打开.bat之外,我似乎并没有做任何其他事情,因此我无法弄清楚为什么它不起作用。
有人有什么想法或方法可以调试吗?谢谢!
答案 0 :(得分:1)
我尝试了以下操作,但似乎可行。但是,我发现您将文件保存在相对路径中,这可能是一个问题,因为Task Scheduler
在C:\WINDOWS\system32
目录中启动了该文件。我在以下代码中使用绝对路径。
请尝试使用此代码。
test.bat
set QHOME=C:\q
set QINIT=C:\q\code\test.q
set PATH=%PATH%;c:\q\w32
q -p 9999
test.q
t:([] a: til 10;b: til 10)
save `$"C:/q/code/t.csv"
任务计划程序操作
C:\q\code\test.bat