Re: Directory of the open notebook
- To: mathgroup at smc.vnet.net
- Subject: [mg20957] Re: Directory of the open notebook
- From: Ben Stanley <bds02 at uow.edu.au>
- Date: Wed, 1 Dec 1999 01:50:24 -0500 (EST)
- Organization: http://www.uow.edu.au
- References: <812ahm$1h8@smc.vnet.net> <81a0a4$8oe@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
OK, I tried this, and it didn't work the first time:
In[37]:=
DirectoryName[
ToFileName["FileName" /. NotebookInformation[EvaluationNotebook[]]]]
Out[37]=
""
What? Nothing?
In[30]:=
NotebookInformation[EvaluationNotebook[]]
Out[30]=
\!\({"FileName" -> "Excercises.nb",
"FileModificationTime" -> 3.152477493`*^9,
"WindowTitle" -> "Excercises.nb",
"MemoryModificationTime" -> 3.152554485095`*^9}\)
The problem seems to be that the NotebookInformation doesn't return any directory
information.
Now, I'm running on Linux, and I did cd to the directory of the notebook before I tried
this.
However, if I run mathematica from some other directory, and then re-evaluate the notebook,
I get this:
In[4]:=
dirName = DirectoryName[
ToFileName["FileName" /. NotebookInformation[EvaluationNotebook[]]]]
Out[4]=
"/home/ben/SignalProcessing/DRSaSSP/ch2/"
This is the correct output. I suppose that if you were to feed it back into a SetDirectory[]
command, both outputs would generate the desired result. I tried that, and found that if you
use SetDirectory[] with an empty string, it gets upset. So I used
If[StringLength[dirName] > 0,
SetDirectory[dirName]
]
Ben Stanley.