This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: argv @-expansion with pathname containing spaces


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]