delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/05/03/10:28:24

X-Spam-Check-By: sourceware.org
Date: Thu, 3 May 2007 10:28:04 -0400 (EDT)
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
Reply-To: cygwin AT cygwin DOT com
To: Daniel Spannbauer <ds AT marco DOT de>
cc: cygwin AT cygwin DOT com
Subject: Re: Some Batch-Scripting-Problems under Windows
In-Reply-To: <4639D32B.40607@marco.de>
Message-ID: <Pine.GSO.4.63.0705031024140.12789@access1.cims.nyu.edu>
References: <4639D32B DOT 40607 AT marco DOT de>
MIME-Version: 1.0
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019