Relative paths for portable notebooks in mathematica

file, relative-path, windows, wolfram-mathematica

Solution

In Mathematica you can get the current directory using `Directory[]` and you can set it to something else using `SetDirectory[]`. You can go back to the last location using `ReserDirectory[]` or check all previous locations using `DirectoryStack[]`.

This is described in the documentation here.

You can set the current directory to the directory where the notebook is using

SetDirectory[NotebookDirectory[]]

For `NotebookDirectory` to work, you must be using the Front End and the notebook must be saved.

You can always use path relative to the current directory (`Directory[]`), for example `Import["data/somedata.txt"]`.

Regarding directory separators: `/` will always works, on all of Windows/Linux/Mac. When you are typing a relative path name, it's much more convenient to just use `/` for portability than `FileNameJoin`.

Problem

I Cannot find how to use relative paths in mathematica. My directory structure is simple. ``` Import["G:\\Research\\Acc and Vel Runs\\5-24\\Mathematica\\Data\\250 \ Acc.xls"][[1]] // TableForm ``` That Demonstrates the Absolute path by using the insert path from the menus. I want this notebook to be portable. I want to give someone the "Mathematica" directory and I want them to be able to run the code. I don't want the paths to break because It will be run on a different machine. Basically I just want to use a relative path starting at the Mathematica level shown above.

Original source