美文网首页
使用nodejs创建命令工具

使用nodejs创建命令工具

作者: 王小杰at2019 | 来源:发表于2019-02-04 06:07 被阅读33次

    前言

    由于系统提供的命令基本上都是很基础的命令或者说系统脚本开发比较复杂入门门槛比较高不容易操作,那么我们现在可以使用js打造一款专属我们自己的命令工具可以在命令行窗口运行我们的程序而且还是跨平台的免去了 同时需要学习dos 和shell

    那么一起来学习一下怎么使用nodejs开发我们的一个命令行工具吧

    需求

    对网上下载下图片进行 1到n的命名


    image.png

    环境配置

    1. 初始化项目
    npm init
    
    # 输入项目信息一直回车
    
    package name: (新建文件夹) node-tools
    version: (1.0.0)
    description:
    entry point: (index.js)
    test command:
    git repository:
    keywords:
    author:
    license: (ISC)
    
    
    1. 修改 package.json

    添加 bin 属性配置

    {
      "name": "node-tools",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "bin": {
        "rname": "./rname/index.js"
      },
      "author": "",
      "license": "ISC"
    }
    
    
    1. 新建js文件

    在js文件第一行声明运行环境

    #!/usr/bin/env node
    console.log("hello rname")
    
    1. 安装到全局命令
    npm i -g
    
    1. 运行cmd测试
    image.png

    功能开发

    需要安装对应的依赖

    #!/usr/bin/env node
    
    const rd = require('rd');
    const fs = require('fs');
    const process = require('process');
    const path = require('path');
    
    let cwd = process.cwd();
    let i = 1000000;
    rd.eachFileSync(cwd, (filename, stats) => {
        if (stats.isFile()) {
            i++;
            console.log(`${filename} ==>${i + path.extname(filename)}`)
            fs.renameSync(filename, i + path.extname(filename));
        }
    });
    
    

    发布命令

    npm i -g
    

    运行命令

    
    C:\Users\WangYa\Pictures\test>rname
    
    

    执行结果

    我们可以看到我们的文件名已经按照我们的定义的格式已经命名好了, 10 行左右的 js 轻松治好我的强迫症

    image.png

    相关文章

      网友评论

          本文标题:使用nodejs创建命令工具

          本文链接:https://www.haomeiwen.com/subject/fquysqtx.html