DOS or not? [was Re: How to tell Script to use pythonw.exe ?]
Chris Angelico
rosuav at gmail.com
Wed Jul 3 10:00:04 EDT 2013
On Wed, Jul 3, 2013 at 10:50 PM, Tim Chase
<python.list at tim.thechases.com> wrote:
> On 2013-07-03 09:51, Tim Golden wrote:
>> We can certainly agree on this. I can't count the number of emails
>> I've deleted as too hot-headed in response to dismissive comments
>> about Windows as a platform. Some of them, at least, appear to be
>> from people who last actually used Windows back in the 9x days when
>> the command window was very limited indeed.
>
> I guess one of my biggest frustrations with the cmd.exe (and
> command.com) interpreters is that argument processing is left to the
> application, so each application may do it slightly differently:
>
> C:\temp\> find weather *.py
> FIND: Parameter format not correct
> C:\temp\> find "weather" *.py
> ---------- WFD.PY
> weather = Weather(lat, lon)
> C:\temp\> findstr weather *.py
> wfd.py: weather = Weather(lat, lon)
> C:\temp\> findstr "weather" *.py
> wfd.py: weather = Weather(lat, lon)
>
> And more maddeningly:
>
> C:\temp\> start file.txt
> ... opens the file correctly in Notepad
> C:\temp\> start "file with space.txt"
> ... opens a new dos box with the name "file with space.txt" rather
> than opening the file
> C:\temp\> start "" "file with space.txt"
> ... opens the file correctly in Notepad
>
> It's the little inconsistencies like this that wear daily on me. That
> and the lack of built-in utilities, so I'm regularly adding GNU tools
> on new boxes.
The issue you have there is mainly that the quotes are serving double
purpose. Yes, they delimit and thus can be used to surround a file
name with spaces in it, but they're also significant to a couple of
apps (FIND uses them to indicate the search string, START looks for a
quoted argument to use as the title). I'm not entirely sure how it's
done under the covers; C code looking at argc/argv sees quoted
arguments without their quotes, exactly as I would expect on Unix, and
yet the convention is to notice the quotes.
The issue with START is 100% understandable and 100% annoying.
ChrisA
More information about the Python-list
mailing list