This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Cygstart bug: doesn't keep command line arguments intact
- From: "Buchbinder, Barry (NIH/NIAID) [E]" <BBuchbinder at niaid dot nih dot gov>
- To: "cygwin at cygwin dot com" <cygwin at cygwin dot com>, John Wiersba <jrw32982 at yahoo dot com>
- Date: Sun, 5 Aug 2012 14:38:56 -0400
- Subject: RE: Cygstart bug: doesn't keep command line arguments intact
- References: <1344017509.70947.YahooMailNeo@web161502.mail.bf1.yahoo.com> <1344020282.97348.YahooMailNeo@web161504.mail.bf1.yahoo.com>,<1344021535.36623.YahooMailNeo@web161501.mail.bf1.yahoo.com>
John Wiersba wrote August 03, 2012 3:18 PM
>Calling /c/program\ files/microsoft\ office/office12/winword.exe "a b c.doc" works.
>Calling cygstart /c/program\ files/microsoft\ office/office12/winword.exe "a b c.doc" tries to open a.doc, b.doc, and c.doc.
In the first, bash strips the quotes and passes <a b c.doc> to winword as arg1.
In the second, bash strips the quotes and passes <a b c.doc> to cygstart as arg1.
cygstart then passes <a>, <b>, and <c.doc> to winword as arg1, arg2, and arg3.
At least that is the way I understand it.
Subject to correction by the more knowledgeable.
So try protecting your double quotes with single quotes. E.g. '"a b c.doc"'.
I don't know if the double quotes get passed to winword, but there is a lesser
chance that single quotes will work if they are on the inside, I doubt MS ever
treats them as special.
Good luck.
- Barry
Disclaimer: Statements made herein are not made on behalf of NIAID.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple