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.