Re: How to run ".nb" file always in dos command line
- To: mathgroup at smc.vnet.net
- Subject: [mg123630] Re: How to run ".nb" file always in dos command line
- From: Chris Degnen <degnen at cwgsy.net>
- Date: Tue, 13 Dec 2011 05:44:21 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jc4pan$cfa$1@smc.vnet.net>
Hi,
You can evaluate your notebook from the command line with a
procedure such as this.
Assuming your working directory is C:\temp\plot demo
create a text file C:\temp\plot demo\runplot.m containing this:
Needs["JLink`"];
$FrontEndLaunchCommand = "Mathematica.exe";
UseFrontEnd[
selected = Select[Notebooks[],
CurrentValue[#, NotebookFileName] === "1.nb" &];
If[selected != {},
targetnotebook = First@selected;
SelectionMove[targetnotebook, All, Notebook];
SelectionEvaluate[targetnotebook];
];
Exit[]];
Now to open your file from the command line. I first put
Mathematica on the search path, just for the session (using
setlocal). So, at the command line type or paste:
setlocal
PATH = C:\Program Files\Wolfram Research\Mathematica\8.0\;%PATH%
mathematica "C:\temp\plot demo\1.nb"
(Your DOS command "> 1.nb" did not work for me, so I used
mathematica "C:\temp\plot demo\1.nb")
Now you can evaluate the notebook with this command:
start MathKernel -noprompt -initfile "C:\temp\plot demo\runplot.m"
In case this is of interest, here are some references where
I have discussed similar applications on StackOverflow:-
Evaluating a notebook from the command line
http://tinyurl.com/evalnotebook
About kernel warning message from UseFrontEnd
http://tinyurl.com/uncaughtthrow
Starting and restarting kernels
http://tinyurl.com/restartkernel
On Dec 12, 11:42 am, wch <weichanghe2... at gmail.com> wrote:
> Hi,everybody,I have met an problem when run mathematica in DOS
> interface. I will tell you this confuse:
> in "1.nb" file, I have written a sentence: Plot[Sin[x], {x, 0, 6 Pi}],
> then I run 1.nb in DOS command line with "> 1.nb", it will be opened
> in a moment.
> now I want to evaluate "1.nb" in DOS in order to generate the figure
> of Plot[Sin[x], {x, 0, 6 Pi}]. but I don't know how to send order to
> mathematica.
> In a word, I want to execute all process in DOS command not under
> notebook interface through "shift + enter". combination.
> Thank you for all the information in advance,I am wating for your
> coming.