X-Spam-Check-By: sourceware.org Date: Thu, 3 May 2007 10:28:04 -0400 (EDT) From: Igor Peshansky Reply-To: cygwin AT cygwin DOT com To: Daniel Spannbauer cc: cygwin AT cygwin DOT com Subject: Re: Some Batch-Scripting-Problems under Windows In-Reply-To: <4639D32B.40607@marco.de> Message-ID: References: <4639D32B DOT 40607 AT marco DOT de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Thu, 3 May 2007, Daniel Spannbauer wrote: > Hello, > > we've build a Program for Cygwin to load some Firmware in some Hardware > which is produced by us. > The Firmwware is called file.tld. At the moment the USer has to open > Cygwin, jumpd to the Path of the file.tld (for example: C:\Dokumente und > Einstellungen\test\Eigene Dateien\tload) an run the program by "tload -l > /dev/ttyS0 file.tld". > > This is very uncomfortable. > Now I try to write a simple Batch-Script to do this automaticly, so you > have just to douible-klick on file.tld an the Firmware is loaded over > a predefined serial Line. > > The batch-Script looks as follows: > > LINE=/dev/ttyS0 > c:\Programme\cygwin\bin\bash -c "/bin/tload.exe -l %LINE% %1%" > > But this won't work couse "%1%" is still "C:\Dokumente und > Einstellungen\test\Eigene Dateien\tload\file.tld" which isn't a cygwin-Path. That's not even valid batch syntax. You want set LINE=/dev/ttyS0 c:\Programme\cygwin\bin\bash -c "/bin/tload.exe -l %LINE% %1" > So I cahnged the script as follows: > > LINE=/dev/ttyS0 > c:\Programme\cygwin\bin\bash -c "/bin/tload.exe -l %LINE% '/bin/cygpath -a -i %1%' " > > But this also don't work. couse "%1% has Double-Quots (") at first and > last place. > > I think it is just a quoting-Problem. > Any Ideas out there? Yes. Use single quotes. For example, the below should work: set LINE=/dev/ttyS0 c:\cygwin\bin\bash -c '/bin/tload.exe -l %LINE% "`/bin/cygpath -a -i %1`"' (you need to quote the output of cygpath as well, as that may contain spaces). Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu | igor AT watson DOT ibm DOT com ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!) |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! Freedom is just another word for "nothing left to lose"... -- Janis Joplin -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/