Node.js 创建具有27x26的文件夹结构,即具有26个深级别的所有字母表

Node.js 创建具有27x26的文件夹结构,即具有26个深级别的所有字母表,node.js,path,fs,Node.js,Path,Fs,我想创建文件夹结构27X26,即 A/A/B..Z B/A/B..Z C/A/B..Z . . Z/A/B..Z 我正在尝试以下代码,但它不起作用 var fs=require('fs'), path=require('path'); var arr=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; var itr=0;

我想创建文件夹结构27X26,即

A/A/B..Z
B/A/B..Z
C/A/B..Z
.
.
Z/A/B..Z
我正在尝试以下代码,但它不起作用

var fs=require('fs'),
    path=require('path');

var arr=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
var itr=0;

function createAtZ(pth){
    if(pth){
        if(itr<676){
            for(let i=0;i<26;i++){
                dir = path.join(__dirname,pth+'/'+arr[i]);
                if (!fs.existsSync(dir)){
                    fs.mkdirSync(dir);
                }
            }
            for(let i=0;i<26;i++){
                createAtZ(pth+'/'+arr[i])
            }
        }
    }
    itr++;
}
for(var i=0;i<26;i++){
    createAtZ('./');
}
var fs=require('fs'),
路径=要求(“路径”);
变量arr=['A'、'B'、'C'、'D'、'E'、'F'、'G'、'H'、'I'、'J'、'K'、'L'、'M'、'N'、'O'、'P'、'Q'、'R'、'S'、'T'、'U'、'V'、'W'、'X'、'Y'、'Z'];
var-itr=0;
函数createAtZ(pth){
如果(pth){
如果(itr
这样,更容易跟踪变量,因为它们对于函数的每次调用都是不同的

这样,更容易跟踪变量,因为它们对于函数的每次调用都是不同的

let fs = require("fs");
let path = require("path");

function getLetter(n) {
    return String.fromCharCode("A".charCodeAt(0) + n);
}

function createDirIfNotExist(dir) {
    if (!fs.existsSync(dir)) {
        fs.mkdirSync(dir);
    }
}

function createAt(dir) {
    dir = path.join(__dirname, dir);
    createDirIfNotExist(dir);
    for (let i = 0; i < 26; i++) {
        dir = path.join(dir, getLetter(i));
        createDirIfNotExist(dir);
    }
}

for (let i = 0; i < 26; i++) {
    createAt(getLetter(i));
}
function createAt(dir) {
    dir = path.join(__dirname, dir);
    createDirIfNotExist(dir);
    createAtRecursive(dir, 0);
}

function createAtRecursive(dir, itr) {
    if (itr < 26) {
        dir = path.join(dir, getLetter(itr);
        createDirIfNotExist(dir);
        createAtRecursive(dir, itr + 1);
    }
}