********************************************************************** *XDIG:utility apply command to all sub-directories ********************************************************************** [Function] Use this tool to apply command(.exe or .cmd/.bat script file) to all sub-directory and/or file. For example,using this tool you can search word in all sub-directory by applying grep, Redirection function is also effective to gather stdout/stderr output. On DOS,lacking of stderr redirection function,it will be useful when execute tool which write err message to stderr. [Usage] parameter enclosed by [ ] is optional. XDIG [directory] [file-mask] [dir-mask] [/options] //cmd-string -directory :directory on which command-string is executed. It is not required when use cmd output redirection only. -file-mask :file selective wild card mask default is *.* this may be cancatinated to directory wit \. -dir-mask :sub-directory selective wild card mask default is *.* -cmd-string:specify command with its parms All parm to XDIG must be specified before //, all word following // is treated part of command. ex. //grep search-word *.c @ of first char on cmd string mean cmd file specification. Cmd string is accepted from first line of the cmd file. You cannot specify any parm after cmd file specification. ex. //@cmdfile Special parameter can be used for each directory/file name. %f%:file name, %d%:pathname, %fp%:fullpath name. (When /Pd %f% is replaced to dir-name) ex. //lc %f% (note) % is treated differrently in BAT file and in cmd line input. In BAT file,specify like as %%f%%. But under Windows95,use double % in cmd line also. -options :(case insensitive) /1file :redirection of stdout(/12 mean redirection stdout to stderr) /2file :redirection of stderr(/21 mean redirection stderr to stdout) #ifdef UNX #else //!UNX /Aattr :file/dir selective attribute mask attr=S,H,D(default is SH).'+'/'-' can be prefixed. ex. /Asd, /A-s #endif //!UNX /Llevel :dig directory up to the depth(0 mean starting dir) /O[-]ord :cmd apply file sequence in a directory. N:name,E:extention+name,D:date,S:size,0:as is. (default is 'N') - mean reverse order except for 0. /Papply :potatoes type.(default is 'f') f:File, d:Dir, b:Both, n:None(for use redirection) /Ysw,/Nsw:toggle type switch options. sw are as following,default is in ( ) #ifdef UNX #else //!UNX c :get 'C'onfirm before each cmd call.(/Nc) #endif //!UNX #ifdef UNX d :apply to special file(pipe,socket,device).(/Nd) #endif e :call also when directory is 'E'mpty(/Ne) h :c'H'ange directory for each call(/Yh) n :set 'N'ull value when no parm data for %f%,%fp%(/Nn) The case is when /Pd is specified or /Ye and dir is empty. #ifdef UNX k :process symbolic link(/Yk) m :Output symbolic link err msg (/Ym) #endif t :'T'race executed command text and subdir(/Yt) x :execute command as e'X'e type(/Nx) In the case invalid extention name is specified. [ex.] -all sub-directory operation XDIG dirabc /21 /Pd //grep "srch-word" %d% -file operation using comd file. XDIG dirabc *.c //@foo -redirection only XDIG /2wkf //getstder parm1 [Change History] v1.4 (98/11/03) -Display filename on trace msg -(BUG) errornous process of /L parameter(stop depth of directory level) v1.5 (99/11/12) -(BUG)%fp% is not replaced /when /Pd. v1.6 (00/09/30) -Linux support. v1.7 (03/02/10) -(UNX)Symbolic link,special file consideration. v1.8 (06/08/29) -%fb%:basename specification support