Kdb 启动时加载init.q文件

Kdb 启动时加载init.q文件,kdb,q-lang,Kdb,Q Lang,我的q.bat文件运行良好,其内容如下: g: cd \q w32\q.exe %* -p 5000 在init.q文件中定义了一些基本的q函数之后,我希望在每次启动kdb+/q时都能加载并使用它们。 我尝试在q.bat文件的末尾包含以下行,但它没有任何作用: q init.q 我读过其他方法,比如设置QINIT环境变量或编辑q.q文件,但我怀疑通过.bat加载更干净。设置QINIT或添加q.q文件是将代码加载到每个q进程中的正确方法 但是,如果要将代码加载到有选择数量的q进程中,可以通过以

我的
q.bat
文件运行良好,其内容如下:

g:
cd \q
w32\q.exe %* -p 5000
init.q
文件中定义了一些基本的q函数之后,我希望在每次启动kdb+/q时都能加载并使用它们。 我尝试在
q.bat
文件的末尾包含以下行,但它没有任何作用:

q init.q

我读过其他方法,比如设置
QINIT
环境变量或编辑
q.q
文件,但我怀疑通过
.bat
加载更干净。

设置
QINIT
或添加
q.q
文件是将代码加载到每个q进程中的正确方法

但是,如果要将代码加载到有选择数量的q进程中,可以通过以下方法完成:

w32\q.exe%*-p 5000
替换为
w32\q.exe init.q%*
(我省略了端口,因为您可能不希望所有进程都在同一端口上侦听)

init.q
中,您可以为流程执行所需的init代码,这可能涉及

  • 加载其他q脚本(例如从某个已知目录加载
    log.q
    util.q
  • 处理命令行参数(
    .z.x
    ),以初始化特定的进程类型。例如,给定cmd行
    q.bat rdb
    ,您可以loda
    rdb.q
    并调用
    .rdb.init
    函数

谢谢。对于完整的图片,什么是
%*
意思?在windows批处理文件中
%*
提供了提供给批处理文件的所有命令行参数-请参阅