使用os:cmd / 1更改目录

时间:2009-09-03 23:50:34

标签: erlang

我正在尝试使用

从gen_server更改命令行中的目录
os:cmd("cd d:\temp").

但没有任何发生,返回只是一个空列表,我仍然在同一个目录中。 任何想法?

2 个答案:

答案 0 :(得分:7)

尝试使用file:set_cwd(Dir)来更改当前目录。

答案 1 :(得分:5)

cmd()运行一个子shell,你告诉他更改目录,然后子shell退出,没有改变其父进程的环境。

如果你在shell中,你想使用cd(),或者在Erlang程序中运行时使用文件:set_cwd()。

另一种选择,如果你想运行另一个程序并让它的工作目录与Erlang使用的工作目录不同,那就是将{cd,Dir}元组传递给open_port()。