あなたはこれを試すことができます:
C:\ Program Files \ Wolfram Research \ Mathematica \ 7.0に、以下を含むfirstgo.mというファイルを作成します。
UsingFrontEnd[Module[{},
file = "C:\\Temp\\Test.nb";
targetnotebook = NotebookOpen[file, Visible -> True];
SelectionMove[targetnotebook, Next, Cell];
SelectionEvaluate[targetnotebook];
NotebookSave[targetnotebook];
NotebookClose[targetnotebook];
]];
そして、C:\ Tempに、以下を含むTest.nbというファイルを作成します。
Module[{x1=0},
Export["C:\\Program Files\\Wolfram Research\\Mathematica\\7.0\\sin.gif",
Plot[Sin[x],{x,0,6}]];
While[x1<1000000,
If[Mod[x1,100000]==0,Print["x1="<>ToString[x1]]];
x1++]]
次に、Windowsコマンドコンソールで次のコマンドを実行します。
cd C:\Program Files\Wolfram Research\Mathematica\7.0
MathKernel -noprompt -initfile firstgo.m
Test.nbがMathematicaディレクトリに「sin.gif」というファイルを作成しているのがわかります。Test.nbにはいくつかの印刷出力も含まれていますが、フロントエンドで実行して実行後に保存したにもかかわらず、印刷出力は保存されません。また、フロントエンドプロセスを中断せずにカーネルを終了する方法をまだ理解していません。
補遺
プロセスにかかる時間がわかっている場合は、バッチファイルを使用して、完了時にMathematicaを閉じることができます(次の実行の準備ができています)。この例はMathematicaをシャットダウンする前に20秒休止します。デモンストレーションのために、firstgo.mがC:\Tempに移動されたことに注意してください。以下を含むバッチファイルRunFirstGo.batをマイドキュメントに作成します。
@echo off
setlocal
PATH = C:\Program Files\Wolfram Research\Mathematica\7.0\;%PATH%
echo Launching MathKernel %TIME%
start MathKernel -noprompt -initfile "C:\Temp\firstgo.m"
ping localhost -n 20 > nul
echo Terminating MathKernel %TIME%
taskkill /F /FI "IMAGENAME eq MathKernel.exe" > nul
endlocal
RunFirstGo.batは、次のようにWindowsコマンドコンソールから実行できます。
cd my documents
runfirstgo
または、RunFirstGo.batを(Windowsのコントロールパネルを介して)スケジュールされたタスクとして実行することもできます。