[Gambas-user] Shell command including string containing a quote

Tobias Boege taboege at ...626...
Thu Jan 24 22:08:19 CET 2013


On Thu, 24 Jan 2013, John Rose wrote:
> I have written a GUI to execute a command which involves selecting
> filenames (e.g. sCombinedPath below) to be used in a Shell command
> (as part of a Process). It works OK generally. However, if any
> filename includes a quote, it goes wrong.
> 
> sCommand = "mplex -f 8 -o " & "'" & sCombinedPath & "' " &
>                                 "'" & sVideoPath & "' " &
>                                 "'" & sAudioPath & "' " &
>                                 ">/dev/null 2>'" & sLogFilename & "'"
>   Print sCommand
>   hProcess = Shell sCommand
> 
> I read about using the Shell$ command to create a quoted string but
> I couldn't make that work. I've also tried a Replace$ command to
> replace a quote by a backslash followed by a quote. I couldn't get
> that to work.

Use it like

sCommand = "mplex ... " & Shell$(sCombinedPath) & etc.

This will result in

mplex ... /path/with/\"quotes\"

which is totally valid. But then you must not enclose the path within ''
single quotes.

Regards,
Tobi




More information about the User mailing list