Rebol Programming/rm
Appearance
USAGE:
[edit | edit source]RM target /any
DESCRIPTION:
[edit | edit source]Deletes the specified file(s).
RM is a function value.
ARGUMENTS
[edit | edit source]- target -- the file to delete (Type: file url)
REFINEMENTS
[edit | edit source]- /any -- allow wild cards
(SPECIAL ATTRIBUTES)
[edit | edit source]- catch
SOURCE CODE
[edit | edit source]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] ]