Вы можете попробовать это:
В 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 создает файл с именем 'sin.gif 'в каталоге Mathematica.Test.nb также содержит некоторые выходные данные для печати, но, несмотря на то, что они работают во внешнем интерфейсе и сохраняются после запуска, выходные данные для печати не сохраняются.Кроме того, мне еще предстоит выяснить способ выхода из ядра без прерывания процесса интерфейса.
Приложение
Если вы знаете, сколько времени займет процесс, вы можете использовать пакетфайл, чтобы закрыть Mathematica, когда это будет сделано, (готов к следующему запуску).Этот пример делает паузу в 20 секунд перед выключением Mathematica.Обратите внимание, что 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).