
Q&D With v1.2b by PhG

Syntax : WITH <filespec>... [option]... <"command">

  -n    auto-expand only normal files (H and S excluded, default is -n -z)
  -z    auto-expand only special files (H or S required, default is -n -z)
  -d    auto-expand only directories (H or S included)
  -0|-o process 0-length entries only (-o is supported for obvious reasons)
  -j    process current day's entries only
  -s    include subdirectories (valid if only one filespec was specified)
  -a    ask confirmation (Yes/No/Always/Escape)
  -e    expand jokers and pass each file individually (forced by any of nzd0oj)
  -v[v] (very) verbose (default is -v)
  -q    quiet
  -lfn  disable LFN support even if available (token replacement ONLY !)
  -t    test mode (-q ignored, forced with redirected output)
  -??   more help

This program applies <command> to specified file(s) ; in default joker mode,
it will not try to run <command> if no files matches <filespec>.
For safety, -n, -z, -d and -0 options automagically force -e option.
Note LFN support is limited to token replacement ONLY !

Command tokens are :

  $_  newline
  $p  percent character
  $$  dollar character
  $u  unit
  $d  directory
  $b  directory without trailing "\"
  $n  file
  $e  extension (without dot)
  $f  file.extension
  $c  shortcut for $u$d$f (any LFN automagically becomes $q$c$q)
  $x  shortcut for $u$d$f (forced to DOS format even with LFN support)
  $q  double quote
  $#  auto-incremented ##### decimal number starting from 1 (-e advised)
  $?  auto-incremented ??? string starting from "AAA" (-e advised)

a) Though auto-incrementation is global, it should not be used with -s option.
b) Unlike DIRBAT utility, this program is single-line oriented by design :
   "$_" token will be ignored except in test mode or with redirected output.
c) This program will not process more than 5000 directories,
   and no more than 10000 files per directory, whatever available RAM.
d) For safety, any command line longer than 122 characters will be skipped.
e) If LFN support is available, and if -lfn option was NOT specified,
   program will replace each original f8e3 token with its matching LFN form :
   $q token is highly recommended in order to avoid unexpected side effects
   (note only $c token automagically encloses LFN with double quotes).

Examples : WITH *.tmp -s "DEL $u$d$n.$e"
           WITH c:\bat\*.exe c:\tools\*.exe "COPY $u$d$n.$e G:\tmp"
           WITH *.C *.H *.CPP "del $f"
           WITH -q -e *.thm "RAPPORT $f"
           WITH -e \mesdoc~1\*.* "dir $c"
           WITH -e \mesdoc~1\*.* "dir $q$u$d$f$q"
