delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/12/20/16:34:59

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-3.0 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RCVD_IN_DNSWL_NONE,RCVD_IN_HOSTKARMA_YE,TW_RG
X-Spam-Check-By: sourceware.org
Subject: Re: argv @-expansion with pathname containing spaces
Mime-Version: 1.0 (Mac OS X Mail 6.2 \(1499\))
From: Denis Excoffier <cygwin AT Denis-Excoffier DOT org>
In-Reply-To: <CA+sc5mmhQiSseK3279nSW-0xwyODzMUYEY13pb_CJpwD6QTmng@mail.gmail.com>
Date: Thu, 20 Dec 2012 22:34:08 +0100
Cc: cygwin AT cygwin DOT com
Message-Id: <DB2D51D9-47EB-4609-A28E-9FF0FA1E5472@Denis-Excoffier.org>
References: <20121219162048 DOT GA4564 AT qp9482> <CAEhDDbDcoiKng6D2zqb-_xKrMUnt_H8Lj7FNPgXnMfis0R9mpw AT mail DOT gmail DOT com> <20121220115536 DOT GA300 AT qp9482> <CA+sc5mmhQiSseK3279nSW-0xwyODzMUYEY13pb_CJpwD6QTmng AT mail DOT gmail DOT com>
To: Earnie Boyd <earnie AT users DOT sourceforge DOT net>
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
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id qBKLYuqd015471

On 2012-12-20, 18:49, Earnie Boyd wrote:
> On Thu, Dec 20, 2012 at 6:55 AM, Denis Excoffier wrote:
>> However i don't see how to
>> derive the 8.3 form from my original filename, using DOS only.
> 
> The /X argument to cmd.exe's dir command will give you the 8.3 name if
> it exists.  Note that your system can be configured to not produce the
> 8.3 form.

I tried 'dir /X %pathname%', or 'dir /X /B %pathname%' (and other combinations),
i can produce "some" 8.3 strings, bug was unable to produce the replacement
of the full path (with 8.3 strings replaced everywhere). And setting the
result in another variable seems another challenge…

On the other hand, i have discovered something funny to calculate the directory
where a bat file is installed:

pushd %0\..
set dirname=%cd%
popd

This seems to work in all situations (spaces in filenames, bat file called through
absolute path or relative path, even the simple foo.bat works…). It also removes
the annoying quotes that are set around %0.

It's a good trick, did anybody know this?


Regards,

Denis Excoffier.

--
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


- Raw text -


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