我在一个目录中有三个文件和三个目录,具有不同的日期.
$ cd mydir
$ ls -ltr
-rw-rw-r-- 1 skiphoppy users 0 Nov 14 00:00 file.old.20121114
drwxrwxrwx 2 skiphoppy users 4096 Nov 14 00:00 dir.old.20121114
drwxrwxrwx 2 skiphoppy users 4096 Dec 5 12:05 dir.old.20121205
drwxrwxrwx 2 skiphoppy users 4096 Dec 5 12:05 dir
-rw-rw-r-- 1 skiphoppy users 0 Dec 5 12:16 file.old.20121205
-rw-rw-r-- 1 skiphoppy users 0 Dec 5 12:16 file
Run Code Online (Sandbox Code Playgroud)
我想构建一个包含所有早于2012-12-01的目录的dirset.如果我正确读取,则选择器可用于限制返回的文件.但似乎这对dirset不起作用,即使dirset文档说你可以使用嵌套模式集和选择器.
如果我在文件集上使用日期选择器,我只会得到一个我期望的旧文件; 但是在dirset上使用相同的语法,我得到所有目录:
<fileset id="old.files" dir="mydir">
<date datetime="12/01/2012 12:00 AM" when="before"/>
</fileset>
<echo message="Files: ${toString:old.files}"/>
<dirset id="old.dirs" dir="mydir">
<date datetime="12/01/2012 12:00 AM" when="before"/>
</dirset>
<echo message="Dirs: ${toString:old.dirs}"/>
Run Code Online (Sandbox Code Playgroud)
输出:
[echo] Files: file.old.20121114
[echo] Dirs: ;dir;dir.old.20121114;dir.old.20121205
Run Code Online (Sandbox Code Playgroud)
这里发生了什么日期选择器不起作用?
您可能需要checkdirs为日期选择器设置属性.默认为'false',即选择所有内容.
<date datetime="12/01/2012 12:00 AM" when="before" checkdirs="true" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
371 次 |
| 最近记录: |