Running Scripts from the command line

Top  Previous  Next

Running Scripts from the command line

mestrelab-logom-horz-white_tiny prev-chm next-chm

您可以从命令行运行脚本,只需键入 Mnova .exe 文件和脚本所在的路径以及 -sf "脚本函数名称": "mestrenovaPathname" "scriptPathname" -sf "scriptFunctionToRun" 即可

 

例如

 

1.mestrenova 脚本路径

例如:mestrenova c:\temp\multiOpen.qs 将运行 multiOpen.qs 文件中的 multiOpen() 函数,即运行具有相同文件名的函数。

 

2.mestrenova scriptPath -sf functionName,arg1,arg2,...,argN

运行 scriptPath 文件中的 functionName(arg1,arg2,...,argN)。

 

下面的命令行与上面的命令行操作相同:

mestrenova -sf functionName,arg1,arg2,...,argN scriptPath

 

举例说明:

您也可以使用:"mestrenovaPath" "scriptPath" -sf "scriptFunctionToRun"

 

"C:\Program Files\Mestrelab Research S.L\MestReNova\MestReNova.exe" "C:\Program Files\Mestrelab Research S.L\MestReNova\scripts\myScript.qs" -sf "myFunction"

也可以指定参数:

 

"C:\Program Files\Mestrelab Research S.L\MestReNova\MestReNova.exe" "C:\Program Files\Mestrelab Research S.L\MestReNova\scripts\myScript.qs" -sf "myFunction",0.1,10,true,off

 

在这种情况下,MNova 将以指定的参数运行 myScript.qs 中的 myFunction(0.1,10,true, "off")。逗号后无空格!

 

3.mestrenova -sf functionName,arg1,arg2,...argN

 

在这种情况下,假定函数 functionName 取自 MNova 标准或用户定义的脚本目录之一。

 

注意:命令行参数用空格分隔。因此,逗号后不要使用空格。如果脚本参数包含空格,请使用引号:"C:\Program Files\Mestrelab Research S.L\MestReNova\MestReNova.exe"-sf openSpecWithMols, "C:\1H\fid"。

 

这不需要引号: "C:\Program Files\Mestrelab Research S.L\MestReNova\MestReNova.exe" -sf openSpecWithMols,C:\1H\fid

 

复杂案例示例:

mestrenova specPath1 specPath2 -sf functionName,arg1,arg2 specPath3 specPath4

 

这将首先打开 specPath1、specPath2、specPath3 和 specPath4 波谱。然后应用脚本:functionName(arg1, arg2)

 

 

还有一个命令行参数-w(w 代表等待)。如果命令行中包含该参数,且 Mnova 尚未运行,则 Mnova 将打开、加载任何文件并运行命令行中传入的任何脚本,最后关闭。

 

如果存在此参数,但 Mnova 已在运行,则第二个 Mnova 实例将把命令行信息传递给第一个运行的实例,第一个运行的实例将加载/运行文件/脚本,最后通知第二个实例它已完成,因此第二个实例将关闭。

 

举例如下

 

MestReNova.exe -w

Mnova 未运行:Mnova 立即打开并关闭。

Mnova 正在运行:第二个 Mnova 实例将立即返回。

 

MestReNova.exe myscript.qs -w

Mnova 未运行:Mnova 会打开运行 myscript.qs 文件中的 myscript 函数,并在完成后关闭。

Mnova 正在运行:运行第二个 Mnova 实例,并将参数传递给已运行的 Mnova 实例。在已运行的 Mnova 实例中运行 myscript.qs 文件中的 myscript 函数,完成后通知第二个 Mnova 实例,并关闭第二个 Mnova 实例(从命令行启动的那个)。