Rebol 编程/change-dir
外观
< Rebol 编程
CHANGE-DIR dir
更改活动目录路径。
CHANGE-DIR 是一个函数值。
- dir -- 新目录路径 (类型:文件)
- 捕获
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
]