Script with Xtscript
Đếm các tập tin trong thư mục phụ
Kịch bản này giả định rằng tất cả những gì trong thư mục /chính là thư mục con
Và tất cả các thư mục con chứa các file cũng được tính đến và một tập tin chỉ mục
nếu các thư mục con không chứa một tập tin chỉ số thay đổi toán học để
var $total=($total $subc)
Lưu ý: nếu các thư mục con và các file trong thư mục con quá lớn sẽ có thể gây ra hiện tượng timeout vì vòng lặp quá lớn
Code ví dụ:
<!--parser:xtscript-->
function subcount $folder=FOLDER_1
var $flist=<xt:filelist folder="/$folder" template="|.file_name." filter="-index*"/>|
var $start=1
@loop
var $end = call strpos $haystack=$flist;$needle=|;$offset=($start+1);
if $end >0
var $subf = call substr $val=$flist;$start=$start;$length=($end-$start)
var $subc = <xt:filecount folder="/$folder/$subf" />
var $total=($total+$subc-1)
var $start = ($end+1)
goto @loop
endif
return $total
endfunction
print <hr />Số file thư mục con trong thư mục <i>/FOLDER_1/</i> là ;
call subcount $folder=FOLDER_1
print files
<!--/parser:xtscript-->
function subcount $folder=FOLDER_1
var $flist=<xt:filelist folder="/$folder" template="|.file_name." filter="-index*"/>|
var $start=1
@loop
var $end = call strpos $haystack=$flist;$needle=|;$offset=($start+1);
if $end >0
var $subf = call substr $val=$flist;$start=$start;$length=($end-$start)
var $subc = <xt:filecount folder="/$folder/$subf" />
var $total=($total+$subc-1)
var $start = ($end+1)
goto @loop
endif
return $total
endfunction
print <hr />Số file thư mục con trong thư mục <i>/FOLDER_1/</i> là ;
call subcount $folder=FOLDER_1
print files
<!--/parser:xtscript-->
Code đã chạy:
Số file thư mục con trong thư mục /FOLDER_1/ là files