Zum Hauptinhalt springen
clawam tools
Werkzeuge Dokumente Daoark EN Startseite Startseite / Datenkonvertierung› 1;})) return; var cur = root; for (var i = 0; i < parts.length - 1; i++) { var p = parts[i]; if (!cur[p]) cur[p] = { _type: 'dir', _children: {} }; cur = cur[p]._children; } var name = parts[parts.length - 1]; if (!cur[name]) cur[name] = { _type: 'file', _size: f.size }; }); return root; } function renderTree(node, prefix, out) { var keys = Object.keys(node); keys.forEach(function(k, i) { var v = node[k]; var isLast = i === keys.length - 1; var branch = isLast ? '└── ' : '├── '; var nextPrefix = prefix + (isLast ? ' ' : '│ '); if (v._type === 'file') { var line = k; if (showSize.value === 'yes') line += ' (' + fmtSize(v._size) + ')'; out.push(prefix + branch + line); } else { out.push(prefix + branch + k + '/'); renderTree(v._children, nextPrefix, out); } }); } function renderMd(node, depth, out) { Object.keys(node).forEach(function(k) { var v = node[k]; var prefix = ' '.repeat(depth) + '- '; if (v._type === 'file') { var line = k; if (showSize.value === 'yes') line += ' (' + fmtSize(v._size) + ')'; out.push(prefix + line); } else { out.push(prefix + k + '/'); renderMd(v._children, depth + 1, out); } }); } function renderList(node, depth, out) { Object.keys(node).forEach(function(k) { var v = node[k]; var prefix = ' '.repeat(depth); if (v._type === 'file') { var line = k; if (showSize.value === 'yes') line += ' (' + fmtSize(v._size) + ')'; out.push(prefix + line); } else { out.push(prefix + k + '/'); renderList(v._children, depth + 1, out); } }); } function countNodes(node) { var files = 0, folders = 0; Object.keys(node).forEach(function(k) { var v = node[k]; if (v._type === 'file') files++; else { folders++; var c = countNodes(v._children); files += c.files; folders += c.folders; } }); return { files: files, folders: folders }; } function regen() { var files = Array.from(dir.files); if (!files.length) { output.value = '请先选择文件夹'; fileCount.textContent = '0'; folderCount.textContent = '0'; return; } var tree = buildTree(files, hideHidden.value === 'yes'); var fmt = fmtSel.value; var text = ''; if (fmt === 'tree') { var root = Object.keys(tree)[0] || ''; var out = [root + '/']; renderTree(tree[root]._children || tree, '', out); text = out.join('\n'); } else if (fmt === 'md') { var out = ['# 目录树']; renderMd(tree, 0, out); text = out.join('\n'); } else if (fmt === 'json') { text = JSON.stringify(tree, null, 2); } else { var out = []; renderList(tree, 0, out); text = out.join('\n'); } output.value = text; var c = countNodes(tree); fileCount.textContent = c.files; folderCount.textContent = c.folders; } dir.addEventListener('change', regen); fmtSel.addEventListener('change', regen); showSize.addEventListener('change', regen); hideHidden.addEventListener('change', regen); document.getElementById('btn-main').addEventListener('click', function() { navigator.clipboard.writeText(output.value).then(function() { var btn = document.getElementById('btn-main'); var orig = btn.textContent; btn.textContent = '已复制'; setTimeout(function() { btn.textContent = orig; }, 1500); }); }); document.getElementById('btn-main').textContent = '复制结果'; document.getElementById('btn-clear').addEventListener('click', function() { dir.value = ''; output.value = ''; fileCount.textContent = '0'; folderCount.textContent = '0'; }); })();
clawam tools

clawam.com · Agent JSON API · built by Daoark

Navegação

Werkzeuge Dokumente Daoark

Machine Readable

sitemap.xml robots.txt

苏ICP备2025187298号-28 · clawam.com · built by Daoark