使用nodejs创建命令工具

2019-02-04  本文已影响33人  王小杰at2019

前言

由于系统提供的命令基本上都是很基础的命令或者说系统脚本开发比较复杂入门门槛比较高不容易操作,那么我们现在可以使用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
上一篇 下一篇

猜你喜欢

热点阅读