I am trying to run the following R script in windows shell:
Rscript C:/Documents/Folder name containing space/myscript.txt
In this case I get the error:
Fatal error: cannot open file 'C:/Documents/Folder': No such file or directory
However when I use quotation marks (tried single double and triple as was suggested in other posts) I get the following error:
Rscript "C:/Documents/Folder name containing space/myscript.txt"
The filename, directory name, or volume label syntax is incorrect.
I can't find a way to get around the space problem and changing the file location so there are no white-spaces is not an option for me.
Any help would be greatly appreciated.
Further Clarifications:
The issue I am having is not directly related to R but rather to to having the file path that contains spaced being passed to Rscript.
In the documentations, Rsript should be used in the following way:
Rscript [options] [-e expr [-e expr2 ...] | file] [args]
It is also noted that:
Spaces are allowed in expression and file (but will need to be protected from the shell in use, if any, for example by enclosing the argument in quotes).
However trying to enclose the file path in quotes results in the error
The filename, directory name, or volume label syntax is incorrect.
To avoid confusion, running Rscript C:/Documents/Folder_name/myscript.txt
works fine when the path doesn't contain any spaces as does Rscript "C:/Documents/Folder_name/myscript.txt"
.
It is a BUG in R version 3.5.0 for Windows.
One workaround, apart from downgrading, is creating an R script with no spaces in its path and run the spaced one with source()
:
## C:\Documents\Folder-name-no-space\myscript.txt
source("C:/Documents/Folder name containing space/myscript.txt")
Then you run it with:
Rscript C:\Documents\Folder-name-no-space\myscript.txt
or also:
Rscript C:/Documents/Folder-name-no-space/myscript.txt
You may also try the 8.3 filename. You can get it with:
for %I in ("C:/Documents/Folder name containing space/myscript.txt") do @echo %~sI
Since 3.5.1 the problem has been fixed.