Inconsistence on file operation when the name already exists with exe extension

Aaron Schneider notstop@users.sourceforge.net
Mon Jul 9 17:20:00 GMT 2012


On 09/07/2012 17:44, Christopher Faylor wrote:
> On Mon, Jul 09, 2012 at 05:23:13PM +0200, notstop wrote:
>> You must be right in some points, but that is not the exact behavior of
>> windows command although you pretend it to be (the powershell has a
>> different behavior). In fact, I can independently operate file while
>> file.exe exists:
>>
>> copy file.exe file
>> Now there are file and file.exe
>
> Common email practice is to include the text of the email you are
> responding to so that we can know who you are accusing of "pretending".
>
> Nevertheless, FYI, powershell is not Cygwin and no one is saying that
> the behavior you're seeing is mandated by Windows.  What you are seeing
> is a Cygwin accommodation for the fact that .exe is a special extension.
> Cygwin is not a new project.  Its handling of .exe has been hashed and
> rehashed throughout the life of the project.  The current behavior is
> the compromise that we've settled on.
>
> So, what you are seeing is expected.  Continuing to argue without
> familiarizing yourself with past discussions is not likely to expose
> anything new.
>
> --
> 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
>
>

Sorry for not quoting, server was including raw email addresses in reply 
and got several bounces.

About the issue

-- There is something I need to clarify about what I am referring to 
with windows shells --:

* Windows command is %SystemRoot%\System32\cmd.exe
* Windows Powershell is included by default in Windows 7 at 
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

I believe that Cygwin tries to emulate cmd.exe

-- They both behave differently --.

For example when typing file.exe on a directory:

* powershell tries to locate the executable in PATH at any costs 
regardless if exists in present directory. In fact if exists, won't 
execute it directly, will give error "Suggestion [3,General]: The 
command file.exe was not found, but does exist in the current location. 
Windows PowerShell doesn't load commands from the current location by 
default. If you trust this command, instead type ".\file.exe"." and will 
force you to run .\file.exe

* cmd.exe will run the file.exe if exists in present directory, without 
the need to run it as .\file.exe ; if not will run from path environment 
variable.

** Other differences may exist.

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



More information about the Cygwin mailing list