# [Rd] file separator inconsistencies on windows?

Prof Brian Ripley ripley at stats.ox.ac.uk
Mon May 14 18:20:33 CEST 2007

On Mon, 14 May 2007, Ernest Turro wrote:

> tempdir() on windows returns the path using "\\" as file separator.

Yes, it is explicitly documented to.

> But .Platform\$file.sep returns "/". As a result, you get
> inconsistencies like:
>
> > file.path(tempdir(), "foo")
>
> [1] "C:\\WINDOWS\\Temp\\RtmpYEIXrb/foo" # Mix of \\ and /
>
> I'm not sure if this can cause problems but I thought I'd let you
> know just in case.

It doesn't cause problems AFAIK.  The main place you need \ is when
passing filepaths to a Windows shell, a few Windows executables and a very
few API functions (where we convert in the wrappers).  OTOH, / is needed
when passing to a Unix-like shell, make ....

Note that e.g. shell() on Windows has an argument to translate / to \ if
necessary.

There is a problem with network shares like \\machine\path\to\file.  Those
are essentially incompatible with POSIX and a lot of the tools we use for
R, but I've started to make them work as far as is practicable.

--
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595