Re: Re: Finding the Path to the Active Notebook
- To: mathgroup@smc.vnet.net
- Subject: [mg12627] Re: [mg12526] Re: Finding the Path to the Active Notebook
- From: Reinhold Kainhofer <reinhold.kainhofer@kfunigraz.ac.at>
- Date: Tue, 26 May 1998 02:38:25 -0400
Paul Abbott wrote: > Adalbert Hanszen wrote: > > > Does anybody know a way, how to programmatically find out, from which > > directory the active notebook was loaded? > > > > I am looking for something like MyOwnPath[] returning me the full path > > to the active notebook (or None, if the notebook has just been typed in > > without any Notebook-loading). > > Do you really need this. Doesn't SelectedNotebook[] provide the > functionality you need for working with a particular Notebook? If you want to work with a particular notebook, it is not necessary, but if you need to load any other file located in the same directory as the current notebook (e.g. a template for an output to another file), you need the path (because the current working directory can be set to any other directory as well). There is an undocumented Mathematica function which gives the Information needed: NotebookInformation If you want the Filename of the Notebook as a string, you can define the following function: NBFileName[nb_NotebookObject]:=ToFileName@("FileName"/.NotebookInformation[nb]/.{"FileName"->""}); Now NBFileName[SelectedNotebook[]] returns the filename of the selected Notebook. If you just want the Path of the notebook, the following will do that: NBPath[nb_NotebookObject]:=ToFileName@("FileName"/.NotebookInformation[nb]/.{"FileName"->""})[[1]]; NBPath[SelectedNotebook[]] If the Notebook has not yet been saved, the returned string is empty. Another problem, which I have not been able to solve yet is how to get the path where a PACKAGE is located. ContextToFileName does not give the whole path. So I cannot open a file that is located in that directory by using OpenRead. Does anyone know a solution? Reinhold ____________________________________________________________________ Reinhold Kainhofer | e-mail: reinhold.kainhofer@kfunigraz.ac.at Strassoldog. 4/3/17 | http://www.cryogen.com/rk 8010 Graz, Austria | http://www.geocities.com/Athens/9145