Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ANT-如何复制维护Linux权限的一组文件_Ant_Copy_Execute_Cp_Fileset - Fatal编程技术网

ANT-如何复制维护Linux权限的一组文件

ANT-如何复制维护Linux权限的一组文件,ant,copy,execute,cp,fileset,Ant,Copy,Execute,Cp,Fileset,我需要用ant复制一组文件。 不幸的是,我不能使用目标“复制”,因为它失去了Linux文件权限。因此必须使用目标“execute”“cp”。 如何将一组文件传递给execute cp目标?我知道我必须使用文件集,但我可以以何种方式将文件集作为execute cp target的参数传递?您不能将文件集传递给操作系统命令。您最好使用该任务对每个文件调用“cp”命令,如下所示: <apply executable="cp"> <srcfile/> &l

我需要用ant复制一组文件。 不幸的是,我不能使用目标“复制”,因为它失去了Linux文件权限。因此必须使用目标“execute”“cp”。
如何将一组文件传递给execute cp目标?我知道我必须使用文件集,但我可以以何种方式将文件集作为execute cp target的参数传递?

您不能将文件集传递给操作系统命令。您最好使用该任务对每个文件调用“cp”命令,如下所示:

  <apply executable="cp">
     <srcfile/>
     <targetfile/>
     <fileset dir="src" includes="*.txt"/>
     <globmapper from="*.txt" to="output/*.txt"/>
  </apply>
任务,它将是最有效的:

<copy todir="output">
  <fileset dir="src" includes="*.txt"/>
</copy>

<chmod perm="700">
  <fileset dir="output" includes="*.txt"/>
</chmod>

我无法使用第二个目标(带有chmod perm=“700”的目标),因为并非我要复制的所有文件都具有相同的权限,我希望保留每个文件的原始模式。在任何情况下,你发布的第一个目标都是完美的。非常感谢。我花了很多时间寻找这个问题的解决方案。:)