You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Node.js命令行传参创建目录(移除脚本固定路径)

实现Node.js脚本接收命令行参数创建目录

要实现通过命令行传入目录路径来创建目录,核心是利用Node.js内置的process.argv获取命令行参数,具体实现步骤如下:

1. 从命令行获取目标路径

Node.js中process.argv是一个存储命令行执行参数的数组:

  • 第1个元素:node可执行文件的路径
  • 第2个元素:当前运行的脚本路径
  • 第3个及以后元素:用户传入的自定义参数

我们只需要取process.argv[2]就能获取用户指定的目录路径。

2. 处理参数缺失的情况

必须先判断用户是否传入了路径,如果没有,直接输出提示信息并退出脚本,避免后续执行报错。

3. 修改fs创建目录的逻辑

将原来的固定路径替换为获取到的参数,同时建议用path.resolve()解析路径(确保路径格式正确,兼容相对/绝对路径),并开启recursive: true选项支持创建多层嵌套目录。

修改后的完整脚本示例

const fs = require('fs');
const path = require('path');

// 获取命令行传入的目标路径
const targetPath = process.argv[2];

// 检查参数是否存在
if (!targetPath) {
  console.error('请传入要创建的目录路径,示例:node ./stack/create.js ./path/folderName');
  process.exit(1);
}

// 解析为绝对路径,避免路径歧义
const resolvedPath = path.resolve(targetPath);

// 创建目录,支持递归创建多层结构
fs.mkdir(resolvedPath, { recursive: true }, (err) => {
  if (err) {
    console.error('目录创建失败:', err.message);
    process.exit(1);
  }
  console.log(`目录创建成功:${resolvedPath}`);
});

使用方法

在终端执行以下命令即可指定路径创建目录:

node ./stack/create.js ./path/folderName

如果需要创建绝对路径的目录,直接传入绝对路径即可:

node ./stack/create.js /Users/yourname/projects/new-folder

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:20:32