-- vim:set ft=lua: dofile(mg.script_name:gsub('[^\\/]*$','')..'util.lua') ct=CreateContentBuilder(GZIP_THRESHOLD_BYTE) ct:Append([=[

# ストレージ

]=]) checked={} for i,v in ipairs(EdcbRecFolderPathList()) do v=v:match('^[A-Za-z]:\\') if v and not checked[v:upper()] then checked[v:upper()]=true free=nil f=edcb.io.popen('fsutil volume diskfree '..v) if f then --最近のfsutilは数値に桁区切りがつく。さらに最近のものは項目が増えた。 free,total,avail=f:read('*a'):gsub("[%s',.]",''):match(':(%d+).-:(%d+).-:(%d+)') f:close() end ct:Append('
'..v..'
  '..(free and ('%.3f GiB (avail: %.3f GiB) / %.3f GiB'):format(free/1024/1024/1024,avail/1024/1024/1024,total/1024/1024/1024) or '不明')..'
\n') end end ct:Append([=[

]=]) ct:Finish() mg.write(ct:Pop(Response(200,'text/html','utf-8',ct.len)..(ct.gzip and 'Content-Encoding: gzip\r\n' or '')..'\r\n'))