用nodejs递归删除文件夹及其子目录,顺带解决windows删除文件名过长问题

用windows删除一些工程文件时因为目录深度太深,导致用资源管理器和cmd都没有办法删除。手头有nodejs,顺便参考了网上的一份递归删除目录的代码,放在这里做备用。使用的时候修改目录参数,然后用node执行即可。

var fs = require('fs');
 
var rmdirSync = (function(){
    function iterator(url,dirs){
        var stat = fs.statSync(url);
        if(stat.isDirectory()){
            dirs.unshift(url);//收集目录
            inner(url,dirs);
        }else if(stat.isFile()){
            fs.unlinkSync(url);//直接删除文件
        }
    }
    function inner(path,dirs){
        var arr = fs.readdirSync(path);
        for(var i = 0, el ; el = arr[i++];){
            iterator(path+"/"+el,dirs);
        }
    }
    return function(dir,cb){
        cb = cb || function(){};
        var dirs = [];
 
        try{
            iterator(dir,dirs);
            for(var i = 0, el ; el = dirs[i++];){
                fs.rmdirSync(el);//一次性删除所有收集到的目录
            }
            cb()
        }catch(e){//如果文件或目录本来就不存在,fs.statSync会报错,不过我们还是当成没有异常发生
            e.code === "ENOENT" ? cb() : cb(e);
        }
    }
})();
 
rmdirSync("D:\\Documents\\Dropbox\\PhpstormProjects\\2",function(e){
    console.log("!!!"+e)
    console.log("删除目录以及子目录成功")
})

 

二维码图片识别HTTP API,支持PHP,JavaScript等语言。PHP, JavaScript QR Code Reader API

项目地址:https://mydansun.github.io/QrCode-Reader-Node.js/

 

本地版本

实现图片中的二维码识别,基于Node.js

基于 LazarSoft / jsqrcode https://github.com/LazarSoft/jsqrcode

可以从拍摄的图片中提取二维码,比如下面的图片

部署方法请到Github查看 https://mydansun.github.io/QrCode-Reader-Node.js/

test

在线版本

https://qr.api.onlyke.com/reader?url=[图片地址]

一个例子:https://qr.api.onlyke.com/reader?url=https://github.com/mydansun/QrCode-Reader-Node.js/raw/master/test/test.jpg

API服务器在日本,小站运营,捐赠配置请联系我!!

返回数据

识别错误

{
    "status":0,
    "error":"这里是错误信息"
}

识别成功

{
    "status": 1,
    "content": "这是二维码的文本内容"
}