This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: latest cygwin: 'run' problem
- From: Andrey Repin <anrdaemon at yandex dot ru>
- To: "Buchbinder, Barry (NIH/NIAID) [E]" <BBuchbinder at niaid dot nih dot gov>, cygwin at cygwin dot com
- Date: Tue, 9 Sep 2014 18:41:16 +0400
- Subject: Re: latest cygwin: 'run' problem
- Authentication-results: sourceware.org; auth=none
- References: <87a96hrki4 dot fsf at Rainer dot invalid> <54060378 dot 2070108 at gmail dot com> <5406680D dot 4030105 at verizon dot net> <540761FA dot 1040902 at verizon dot net> <87ppfcqyc7 dot fsf at Rainer dot invalid> <540A600A dot 6090201 at verizon dot net> <540A6817 dot 9080207 at verizon dot net> <20140906201229 dot GA9220 at phoenix> <20140908174606 dot GA4187 at phoenix> <1448944831 dot 20140909024857 at yandex dot ru> <20140909011413 dot GC4187 at phoenix> <836662195 dot 20140909170801 at yandex dot ru> <6CF2FC1279D0844C9357664DC5A08BA20EBC4B75 at MLBXV06 dot nih dot gov>
- Reply-to: cygwin at cygwin dot com
Greetings, Buchbinder, Barry (NIH/NIAID) [E]!
> Andrey Repin sent the following at Tuesday, September 09, 2014 9:08 AM
>>That makes little sense. Could be solved, though. CMD doesn't offer a
>>way to distinguish between file and directory, but we have test.
> Every directory contains a virtual file named nul (note: only one L;
> serves the function of /dev/null ), so one can test for that.
> c:\> if exist c:\Windows\nul echo y
> y
> c:\> if exist c:\Windows\explorer.exe\nul echo y
> c:\>
NUL (or NUL:) is a DOS device. You CAN create a file called nul, though. But even then, the test fails.
$ VER & IF EXIST "%SystemRoot%\nul" ( ECHO y ) ELSE ( ECHO n )
Microsoft Windows [Version 6.1.7601]
n
$ ECHO. > "\\.\%SystemRoot%\nul"
$ DIR /B "%SystemRoot%\n*"
nul
notepad.exe
$ IF EXIST "%SystemRoot%\nul" ( ECHO y ) ELSE ( ECHO n )
n
However, you can test for "%~f1\*". But since the behavior is not documented, you can't rely on such test either.
--
WBR,
Andrey Repin (anrdaemon@yandex.ru) 09.09.2014, <18:22>
Sorry for my terrible english...
--
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