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\)) Content-Type: text/plain; charset=windows-1252 From: Denis Excoffier In-Reply-To: Date: Thu, 20 Dec 2012 22:34:08 +0100 Cc: cygwin AT cygwin DOT com Message-Id: References: <20121219162048 DOT GA4564 AT qp9482> <20121220115536 DOT GA300 AT qp9482> To: Earnie Boyd 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 Content-Transfer-Encoding: 8bit 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