Rebol Programming/change-dir
Appearance
USAGE:
[edit | edit source]CHANGE-DIR dir
DESCRIPTION:
[edit | edit source]Changes the active directory path.
CHANGE-DIR is a function value.
ARGUMENTS
[edit | edit source]- dir -- new directory path (Type: file)
(SPECIAL ATTRIBUTES)
[edit | edit source]- catch
SOURCE CODE
[edit | edit source]change-dir: func [ "Changes the active directory path." [catch] dir [file!] "new directory path" /local slash full ret ][ dir: clean-path dir if (last dir) <> #"/" [append dir #"/"] if (first dir) = #"/" [ slash: next dir full: remove parse system/script/path "/" while [all [not empty? slash (first slash) = #"/" not empty? full]] [ insert slash first full remove full slash: find/tail slash "/" if (empty? full) or (empty? slash) [clear slash break] ] ] either throw-on-error [dir? dir] [ system/script/path: dir ] [ throw make error! reduce ['access 'cannot-open dir] ] system/script/path ]