![]()
[<<]Message[>>] [<<]Author[>>] Subject[>>] [<<]Thread[>>]
Number : 198 Date : 2001-06-14 Author : Kan Yabumoto Subject : The /X parameter syntax Size(KB) : 3
At 2001-06-14 14:11, Ed Light wrote: > > > > This version handles some /X parameters which were not anticipated > > > > /Xdirname\*\ will be treated as equivalent to /Xdirname\*\* > > /Xdirname\?\ will be treated as equivalent to /Xdirname\?\* > > > > The first line shown above was reported as a bug by Ed Light >earlier. > > Although we do not consider it a bug (we do concede that the > >Kan, in your doc #1 of 2000-01-04 you say: > >Exclusion specifier (xspec) syntax (consists of up to 3 parts): > for file, [ dir_spec\ ] [ *\ ] [ ftemplate ] > for dir, [ dir_spec\ ] [ *\ ] [ dtemplate ] > dir_spec is always followed by a backslash (\). It specifies > a directory (or directories with wildcard) which > are relative to the source directory unless it > starts with a \. A wildcard specifier is allowed > only in the last element of dir_spec. > *\ This second part specifies that the exclusion > applies to all subdirectories under dir_spec. ----------------- Apparently this is not well stated. The last sentence: *\ This second part specifies that the exclusion applies to all subdirectories under dir_spec. Should have been worded as: *\ This second part specifies that the template (the third part, either ftemplate or dtemplate) applies to all subdirectories under the dir_spec. But, regardless of the wording, the syntactic specification in here should allow the way Ed uses (C:\MYDIR\*\). As I said, this obviously legal string was not "anticipated" by XXCOPY --- programmer's oversight on this one. It's just a careless mistake. So, the current syntactic rule (the rule and the documentation hasn't changed but "our understanding" of our own rules and documentation has been corrected, thanks to Ed) says: mydir\ mydir\*\ mydir\*\* mydir\*\*\ mydir\*\*\* ... All of the above are equivalent and they denote the whole directory under mydir\. mydir\?\ mydir\?\* mydir\?\*\ mydir\?\*\* mydir\?\*\*\ ... All of the above are equivalent and they denote all of the subdirectories but not the first-level files inside mydir\. >So I read that to read tack *\ onto dir_spec\ > >like: C:\MYDIR\*\ > >Does C:\MYDIR\*\* include subdirectories as well as the target >directory? Yes. > Or, now that *\ = \*\*, does *\ include the target and >all subdirectories? Yes, that is true. All of the four forms you showed are all equivalent. >Does the pre-beta version hate *\ and respond to *\* by excluding the >target and its subdirectories? The doc #1 seemed to me to say that >*\* does "full directory." That sounded like just the parent >directory to me. The new method clarified here (that five of each examples above) all denote the same thing. It just happened that the \*\ construct somehow never occurred to me when I wrote the program (and the docs), therefore, any version earlier than v2.56.2 fails to recognize the exclusion items which ends with the "*\" sequence. ----------- FYI, I hate to say that this is not the last word on the /X feature. There is another bug which we are working on :-( But, that is related to the default drive letter (if you omit in the exclusion item). It should be fixed shortly... Kan Yabumoto ========================================================================
This message if part of XXCOPY's message Archive. The archive contains all the messages posted at Yahoo!Groups: XXCOPY.