如何用phing删除符号链接?

时间:2012-02-13 23:51:47

标签: php windows cross-platform symlink phing

如何删除带有phing的符号链接,以便它也适用于Windows?

创建符号链接很简单,并且可以跨平台工作:

<symlink 
    target="${sharedPath}zend-framework/ZendFramework-${version.zf}/library/Zend/" 
    link="library/Zend" />

但不是

<delete dir="symlinked folder" />

,也不

<delete file="symlinked folder" />

将删除符号链接。

怎么做?


其他信息:

  • 我正在运行phing 2.4.10
  • Phing实际输出已删除文件/文件夹的[删除]路径,但符号链接仍然存在。所以没有错误信息也没有明显的失败。

1 个答案:

答案 0 :(得分:2)

那是因为你在Windows上创建的符号链接不是真正的符号链接,而是.LNK文件。 所以,它是一个目录,但不是一个链接。因此,删除作为文件将无法正常工作。

所以你既不能使用一些windows special exec来创建实际的符号链接(但这些符号存在取决于版本和/或特权 - 例如在http://technet.microsoft.com/en-us/sysinternals/bb896768查看结点的详细信息),或使用一些可怕的方法测试给定文件实际上是.LNK文件(参见http://www.php.net/manual/en/function.is-link.php#91249