Rebol Programming/rm

= USAGE: = RM target /any

= DESCRIPTION: = Deletes the specified file(s).

RM is a function value. = ARGUMENTS =
 * target -- the file to delete (Type: file url)

= REFINEMENTS =
 * /any -- allow wild cards

= (SPECIAL ATTRIBUTES) =
 * catch

= SOURCE CODE = rm: func [ "Deletes the specified file(s)." [catch] target [file! url!] "the file to delete" /any "allow wild cards" /local p dir blk file ret err ][   dir: throw-on-error [open first p: split-path clean-path target] error? set/any 'err try [ either any [ blk: copy dir foreach file blk [ ret: find/match/any file second p                if none? ret [ret: file] either tail? ret [ remove dir ] [                   dir: next dir ]           ]        ] [            blk: copy dir either not none? blk: find blk second p [ remove skip dir (index? blk) - 1 ] [               make error! reduce ['access 'no-delete target] ]       ]    ]     attempt [close dir] either error? get/any 'err [throw err] [get/any 'err] ]