/* HELP DISPLAY/PROMPT FOR RCOPY */;parse arg rc_args;rc_args=strip(rc_args,'B','?');call SysCls;t='RCOPY v1.2';t2='Dean Ammons (c) 1993-94';l=format(((58-length(t)-length(t2))/2+.5),,0);say t||center('',l,' ')||'** ENTER OPTIONS **'||center('',l,' ')||t2;say;say 'COMMAND: RCOPY from_spec [to_spec (default current directory)] [options]';say;say 'from_spec - use just like OS/2 Copy command (multiple specs separated by comma)';say ' or @file_name where file_name contains list of specs';say;say 'Frequently used options can be stored in the OS/2 environment variable "RCOPY"';say ' example: SET RCOPY=/NS to turn off RCOPY prompt beeps';say;say '** EXAMPLES **';say ' Copy all files in root dir over 5 days old => RCOPY D:\*.* \MYDIR /D:)5';say ' Copy all *.ZIP files on D: to A:\ => RCOPY D:\*.* A:\ /S';say ' Same, except include directory names on A: => RCOPY D:\*.* A:\ /S/DC';say center('** OPTIONS **',78,' ');say '/A : Copy only files where OS/2 archive flag is set';say '/AD : Assume DIRECTORY for "directory or file name" prompt';say '/AF : Same as /AD, except assume FILE';say '/AFX : Same as /AD, except assume DIRECTORY if target file has no extension';say '/AP : Append data to output file';say '/AN : Assume New Disk when current disk is full (no Split or Bypass options)';say center('***MORE***',78,' ');if rc_args<>'' then;do;say 'Current Options: RCOPY '||rc_args;say 'Enter Additional Options or <Esc> to Cancel:';end;else;say 'Enter Options or <Esc> to Cancel:';h=GET_DATA();rc_args=rc_args||' '||h;l=format(((52-length(t)-length(t2))/2+.5),,0);t=t||center('',l,' ')||'** ADDITIONAL OPTIONS **'||center('',l,' ')||t2;call SysCls;say t;say '/AS : Auto Split a file that exceeds available disk space';say '/B : Reset OS/2 archive flag after file copy';say '/BO : Processes & replaces Duplicate file names only';say '/DF : Delete ALL files and directories on targe drive before copy';say '/DF2 : Same as /DF except only files on disks 2 - ... are deleted';say '/DC : Copy directory pathname to to_file_spec';say '/DD:? : Drop first "?" levels of to_specs directory tree';say ' "/DD:-?" drops first "?" levels of from_specs directory';say '/DR:? : Process same from file specs for multiple disk drives';say '/D:? : Select files by DATE (yymmdd) or DAYS where "?" is "(" for LT, ")" for';say ' GT or "=" for equal. Two /D: can be used for date range.';say ' Specify /DO for OR condition.';say '/ED : Empty target directory before copy';say '/FA : Format all output diskettes before copy';say '/H : Process HIDDEN or SYSTEM files';say '/IP:? : Process only if file is FOUND in specified directory';say '/IP-:? : Process only if file is NOT found in specified directory';say '/L : List files that meet selection criteria (no processing)';say '/LG : Log processing actions to RCOPY.LOG (stored with RCOPY.CMD)';say '/M : MOVE files (default is COPY)';say center('***MORE***',78,' ');if rc_args<>'' then;do;say 'Current Options: RCOPY '||rc_args;say 'Enter Additional Options or <Esc> to Cancel:';end;else;say 'Enter Options or <Esc> to Cancel:';h=GET_DATA();rc_args=strip(rc_args||' '||h,'B',' ');call SysCls;say t;say '/MU : Prompt for multiple input diskettes';say "/N : Process NEW files only (doesn't exist in target path)";say '/NS : No Sound';say '/NT : No Totals Display';say '/OD:? : Omit directories matching "?" list (i.e. /OD:\OS2,\MUGLIB)';say ' or @file_name where file_name contains list of directories';say '/OF:? : Omit files matching "?" list (i.e. /OF:*.BAK,DUMMY.*)';say ' or @file_name where file_name contains list of specs';say '/P : Pause before each file is processed';say '/PE : Pause at the end of processing (useful when running from window)';say ' To limit pause, enter /PEx, where "x" is length of pause in seconds';say '/PGM:x : Execute command "x" against each selected file (no copy/move/delete).';say ' $=Full Filename #=Filename ]=/ )=> (=< !=| %=To Drive {=To Dir';say '/R : Replace existing files without prompting for action to take';say '/RD : Reset file to current date after copy';say '/RE : Remove Empty directories after MOVE';say '/RO : Allow MOVING or DELETING Read-Only files';say '/S : Process all subdirectories within requested directory';say '/SA : Rename duplicates with last two positions of extension "01" to "99"';say '/SD : Process display shorten to files processed and totals';say center('***MORE***',78,' ');if rc_args<>'' then;do;say 'Current Options: RCOPY '||rc_args;say 'Enter Additional Options or <Esc> to Cancel:';end;else;say 'Enter Options or <Esc> to Cancel:';h=GET_DATA();rc_args=strip(rc_args||' '||h,'B',' ');call SysCls;say t;say '/SD2 : Process display shorten to files processed.';say '/SE : Skip EXACT duplicate files';say '/SF:? : Split selected files into sub-files of "?" kilobytes (default 32k)';say ' The sub-files will be named filename.001,filename.002, etc.';say '/ST:? : Reserve "?" freespace on targe drive';say '/SZ:? : Select files base on size (same rules as /D:)';say '/T : Test mode simulates what WOULD have happened without this option';say '/T:? : Select files base on time (same rules as /D:)';say '/U : Process NEW files and files with more current date';say '/US : Unsplits/joins "/SF:" files into a single file';say '/V : Verify file after copy process';say '/WA : Wait at startup & prompt for a diskette';say '/WY : Tell Why a file was skipped';say;if rc_args<>'' then;do;say 'Current Options: RCOPY '||rc_args;say 'Enter Additional Options or <Esc> to Cancel:';end;else;say 'Enter Options or <Esc> to Cancel:';h=GET_DATA();rc_args=strip(rc_args||' '||h,'B',' ');if rc_args<>'' then;do;call SysCls;say;end;return rc_args;GET_DATA: PROCEDURE;d='';do forever;parse value SysGetKey('ECHO') With key;i=c2d(key);if i=27 then;exit '';if i=13 then;leave;d=d||key;end;return d;