调用 erl_tar:create 函数时如何更改 cwd(当前工作目录)?

Posted

技术标签:

【中文标题】调用 erl_tar:create 函数时如何更改 cwd(当前工作目录)?【英文标题】:How to change cwd(current working directory) when calling erl_tar:create function? 【发布时间】:2018-12-02 03:21:50 【问题描述】:

就像zip.create/3中的create_optioncwd:http://erlang.org/doc/man/zip.html#create-3

很遗憾,erl_tar:create 没有此选项。调用 erl_tar:create 时可以更改 cwd 吗?

【问题讨论】:

你可以试试erlang.org/doc/man/file.html#set_cwd-1 吗? 【参考方案1】:

根据 cwd 选项 doc 它所做的只是在文件名前面加上目录,你可以在 erl_tar:create 中做同样的事情,例如通过将文件名从 'test.tar' 更改为 '../test.tar'

使用指定目录作为当前工作目录 (cwd)。添加文件时,它会在文件名之前添加,尽管不在 zip 存档中(类似于内核中的 file:set_cwd/1,但不会更改全局 cwd 属性。)。

更改 cwd 听起来很危险,因为如果您在当前 cwd(或相对于当前 cwd)中使用其他文件,可能会导致运行时错误。

【讨论】:

是的,我使用 '../root_dir/file_name' 或绝对路径获得与更改 cwd 相同的效果。谢谢!

以上是关于调用 erl_tar:create 函数时如何更改 cwd(当前工作目录)?的主要内容,如果未能解决你的问题,请参考以下文章

更改文本字段,调用 api - 如何限制这个?

以编程方式更改值时触发Dojo Select onChange事件触发

调用函数时如何在函数中定义变量?

在uitextfield中编辑文本时如何调用函数

仅当参数从上次调用更改时才执行函数体的函数/宏

变量更改后调用事件