> Hi!
>
> How can a Vim script run a program which has spaces in its path? For
> example, the following "system" command fails with the message
> "'C:\Program' is not recognized as an internal or external command,
> operable program or batch file":
>
> let rcmd = '"C:\Program files\R\R-2.11.1\bin\Rcmd.exe" BATCH "example.R"'
> let rlog = system(rcmd)
> if v:shell_error
> echomsg rlog
> endif
>
> Thanks!
>
> Jakson Aquino
>
On Dos- and Windows-like system you can use the 8.3 form of the
filenames, which will then rid you of the spaces: for instance you could
replace Program Files by PROGRA~1
If you can't use this method, or don't want to, you can use double
quotes on some system and backslash-escaping on others. On Windows you
may need backslash-escaping for internal Vim use and double quotes for
passing to the shell; on Unix-like systems you may need in some cases to
re-escape the escaping backslashes depending on how many levels of
"backslash interpretation" there are.
Best regards,
Tony.
--
Es brilig war. Die schlichte Toven
Wirrten und wimmelten in Waben;
Und aller-mümsige Burggoven
Dir mohmen Räth ausgraben.
-- Lewis Carrol, "Through the Looking Glass"
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
No comments:
Post a Comment