mathematica запускает передний конец и ноутбук eval из командной строки

есть ли способ запустить интерфейс mathematica (GUI) из командной строки (Windows) и оценить ноутбук без дальнейших действий пользователя?

хотя mathematica.ехе берет и -initfile вариантов они не работают же как и в математике.исполняемый. (- выполнить "


спасибо. Первый ответ выглядит многообещающим, однако я получаю FrontEndObject:: notavail Передний конец не доступно

(в документах это, кстати," UseFrontEnd".)

возможно, проблема пути, однако даже после установки $FrontEndLaunchCommand нет радости..

Re: ячейка инициализации - этот простой ответ, похоже, делает именно то, что мне нужно, за исключением "вы хотите запустить инициализацию..- НЭГ бокс. Если есть опция somplace для автоматического запуска ядра и запуска ячеек инициализации, это было бы действительно полезно знать.

Я запускаю 6.0 by путь.

5 ответов


вы можете попробовать это:

In 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.0
MathKernel -noprompt -initfile firstgo.m

вы увидите тест.nb создает файл под названием ' sin.gif ' в каталоге Mathematica. Тест.nb также содержит некоторые выходные данные печати, но, несмотря на работу в передней части и сохранение после запуска вывод на печать не сохраняется. Кроме того, мне еще предстоит найти способ выйти из ядра, не прерывая процесс переднего плана.

дополнительное соглашение

если вы знаете, сколько времени займет ваш процесс, вы можете использовать пакетный файл для закрытия Mathematica, когда это будет сделано (готов к следующему запуску). Этот пример приостанавливается на 20 секунд перед выключением Mathematica. Обратите внимание, firstgo.m теперь перемещается в C:\Temp с целью демонстрации. Создание пакетного файла RunFirstGo.bat в Моих документах, содержащих:

@echo off
setlocal
PATH = C:\Program Files\Wolfram Research\Mathematica.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).


Аха...!!

Needs["JLink`"]; 
$FrontEndLaunchCommand="C:\Program Files\Wolfram Research\Mathematica\6.0\Mathematica.exe";
ConnectToFrontEnd[];
UseFrontEnd[Module[{}, ...

последующие..для полноты - - - выше $FrontEndLaunchCommand заставляет GUI придумать, чтобы вы могли наблюдать за оценкой (что я хотел). По умолчанию выполняется интерфейс в фоновом режиме сервера, поэтому у вас есть доступ к функциям переднего плана, но вы не можете его запустить.


Это не интерфейс, который делает оценку, но ядро. Вы можете использовать MathematicaScript автоматизировать.


Если это для конкретного ноутбука, вы пытались установить соответствующие ячейки в ноутбуке, чтобы иметь свойство InitializationCell? Или вы хотите сделать это с любым ноутбуком? Если последнее, ответ Шурд работает лучше.


Я не знаю, активна ли тема, но для тех, кто остановился на проблеме "предупреждение ячейки инициализации", вы можете изменить это на "Flase" в

Инспектор Параметров - > Параметры Ноутбука - > Параметры Оценки - > InitializationCellWarning - >False