[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: os.execute with filename and argument containing spaces
- From: Robert Raschke <rtrlists@...>
- Date: Mon, 23 Jun 2014 15:47:48 +0100
It's best to use forward slashes in your file paths!
On Jun 23, 2014 1:40 PM, "Jerome Vuarand" <email@example.com
2014-06-23 7:19 GMT+01:00 Michael Gerbracht <firstname.lastname@example.org>:
> I would like to use os.execute() to run an .exe file with a path as argument.
> I tried the following:
> path = [["C:\program files\lua\lua.exe" "C:\Users\name surname\test.lua"]]
> I do get an error, that 'C:\Users\name' is not recogized as internal or
> external command.
> I know that you should put some quotes around the path if it contains spaces.
> And in my case both pathes used may contain spaces. If you put the content of
> path variable into a .bat file it works. I expected that os.execute(command)
> does the same as putting the command in a .bat file but there seems to be a
> Do you have any idea how to get it working?
A good rule of thumb on Windows when you run a command through C
(which Lua uses) and the command contains double quotes, is to
surround the whole command with an additional pair of double quotes.
So your script should become:
path = [[""C:\program files\lua\lua.exe" "C:\Users\name surname\test.lua""]]
You can type "cmd /?" in a console for an explanation of what's going
on in details.