如何在Ant中使用`chmod -R +w`命令修改文件和文件夹的权限?

17
我想在Ant构建脚本中执行类似于chmod -R +w foo/的操作。目前我正在使用以下命令:
<chmod perm="g+w">
   <dirset dir="${basedir}/foo">
   </dirset>
   <fileset dir="${basedir}/foo">
   </fileset>
</chmod>

有没有更简洁的方法可以递归地包含文件和文件夹?


该死,你说得对。我删掉了我的回答并进行了进一步的调查... - Pascal Thivent
1
解决方案:<chmod file="${basedir}/foo/**" perm="g+w" type="both"/>,我让你来发布 ;) - Wernight
好的,我跟你的解决方案一样。感谢你让我发帖 :) - Pascal Thivent
3个回答

23
以下内容可以运行:
<chmod file="${basedir}/foo/**" perm="g+w" type="both"/>

与提问者分享的学分。

另请参阅


@Wernight:type="both" 必须与 file= 一起使用。但关键是确实需要使用 ** - Pascal Thivent

4

要进行chmod操作,可以使用exec命令:

<exec executable="chmod" dir="${basedir}/foo" failonerror="true">
    <arg line="-R 0755 ." />
</exec>

Credits

参考资料

2
只有在系统上有chmod工具,比如*nix(Unix、Linux等)系统,才能这样做,但在Windows上不太可能。 - Wernight

2

这是Gradle的版本:

task fixPermissions << {
    ant.chmod(dir:"$rootDir/foo", perm:"g+w", includes:"**/*")
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接