如何在需要时创建中间目录?

时间:2014-09-21 17:38:01

标签: mkdir phing

我有以下代码从变量创建目录:

<mkdir dir="${project.private.dir}" />

但是当用户指定缺少父文件夹的目录时,会出现错误:

[mkdir] Created dir: /var/www/sites/default/private/files
Execution of target "set-dir-permissions" failed for the following reason: build.xml:192:18:
The file /var/www/sites/default/private/files does not exist

目录/var/www/sites/default已存在,但尚未存在private,通常我会按mkdir创建:

<exec command="mkdir -vp ${project.private.dir}" />

但这不是交叉兼容的。

是否有任何创建目录的方式,包括与-p的{​​{1}}参数类似的所需内容?

我找不到MkdirTask,也许还有其他方法?

1 个答案:

答案 0 :(得分:0)

正如http://www.phing.info/trac/ticket/1143所述,我无法重现这一点:

<delete dir="foo" /> <mkdir dir="foo/bar/baz" />

使用子目录栏成功创建目录foo,子目录为baz。

从您的日志中看来&#34; / var / www / sites / default / private / files&#34;也创建了&#34;文件不存在&#34;错误似乎来自后续步骤/任务。你能在构建文件中添加相应的行吗?