如何在Windows系统中使用Node.js创建嵌套目录?
在Windows 10/11的Documents文件夹中用Node.js创建嵌套目录结构
要在Windows系统的Documents文件夹里生成parent/child这类嵌套目录,直接用Node.js内置的fs模块就能实现,无需手动逐层创建目录。
实现步骤
- 动态获取当前用户的Documents文件夹路径(避免硬编码适配不同用户)
- 利用
fs.mkdir()的recursive参数,一键创建所有层级的目录
代码示例
回调式写法(兼容旧版Node.js)
const fs = require('fs'); const path = require('path'); const os = require('os'); // 获取Documents文件夹绝对路径 const documentsDir = path.join(os.homedir(), 'Documents'); // 拼接目标嵌套目录路径 const targetDir = path.join(documentsDir, 'parent', 'child'); // 创建嵌套目录 fs.mkdir(targetDir, { recursive: true }, (err) => { if (err) { return console.error('目录创建失败:', err.message); } console.log(`嵌套目录已成功创建: ${targetDir}`); });
Async/Await写法(现代Node.js推荐)
const fs = require('fs').promises; const path = require('path'); const os = require('os'); async function createNestedDirectory() { try { const documentsDir = path.join(os.homedir(), 'Documents'); const targetDir = path.join(documentsDir, 'parent', 'child'); await fs.mkdir(targetDir, { recursive: true }); console.log(`嵌套目录已成功创建: ${targetDir}`); } catch (err) { console.error('目录创建失败:', err.message); } } // 执行创建函数 createNestedDirectory();
关键细节
recursive: true:这是实现嵌套创建的核心参数,会自动检查并创建所有缺失的父级目录(比如先建parent,再建parent/child),该参数从Node.js v10.12.0开始支持。path.join():安全拼接路径,自动适配Windows的\分隔符,避免手动写路径导致的错误。- 权限问题:如果运行脚本时报权限错误,需确保当前用户对Documents文件夹有读写权限。
内容的提问来源于stack exchange,提问作者Shakir Ahmed
相关产品推荐
相关产品推荐

