Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 13484 invoked by uid 6000); 22 Oct 1997 15:39:36 -0000 Received: (qmail 13476 invoked from network); 22 Oct 1997 15:39:34 -0000 Received: from gensym.com (192.156.185.2) by taz.hyperreal.org with SMTP; 22 Oct 1997 15:39:34 -0000 Received: by gensym.com (4.1/SMI-4.1) id AA08858; Wed, 22 Oct 97 11:39:05 EDT Received: from unknown(1.0.2.6) by ftp.gensym.com via smap (V1.3) id sma008856; Wed Oct 22 11:39:01 1997 Received: from BHPC by gensym1.gensym.com (4.1/SMI-4.1) id AB16134; Wed, 22 Oct 97 11:38:58 EDT Date: Wed, 22 Oct 97 11:38:58 EDT Message-Id: <9710221538.AB16134@gensym1.gensym.com> To: new-httpd@apache.org In-Reply-To: (message from Paul Sutton on Wed, 22 Oct 1997 14:20:34 +0000 (GMT)) Subject: Re: NT: spaces in paths From: Ben Hyde Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org My experiance of moving to the NT seems analagous to that of an emigrant in a new country. I keep looking for the foods, spices, and church rituals so common in my other homes. Of course I know that if I choose to live in a Unix like getto I'll never be a First Class citizen. One spice I'd hoped to find was doc ... on how command.exe parses arguments. The following (written by another emigrant) is the closest I've come upon. This is taken from the README.win32 found when you unpack Perl for the NT. My take from this is that the natives pick apart the command line string each in his own unique way. It explains a lot. - ben h. =item Using perl from the command line If you are accustomed to using perl from various command-line shells found in UNIX environments, you will be less than pleased with what Windows NT offers by way of a command shell. The crucial thing to understand about the "cmd" shell (which is the default on Windows NT) is that it does not do any wildcard expansions of command-line arguments (so wildcards need not be quoted). It also provides only rudimentary quoting. The only (useful) quote character is the double quote ("). It can be used to protect spaces in arguments and other special characters. The Windows NT documentation has almost no description of how the quoting rules are implemented, but here are some general observations based on experiments: The shell breaks arguments at spaces and passes them to programs in argc/argv. Doublequotes can be used to prevent arguments with spaces in them from being split up. You can put a double quote in an argument by escaping it with a backslash and enclosing the whole argument within double quotes. The backslash and the pair of double quotes surrounding the argument will be stripped by the shell. The file redirection characters "<", ">", and "|" cannot be quoted by double quotes (there are probably more such). Single quotes will protect those three file redirection characters, but the single quotes don't get stripped by the shell (just to make this type of quoting completely useless). The caret "^" has also been observed to behave as a quoting character (and doesn't get stripped by the shell also). --- hint dejour: regedit (but not regedit32) lets you dump the entire registry to a file which you can then run unix tools on.