Javascript 在NodeJS中创建顺序编号的目录

Javascript 在NodeJS中创建顺序编号的目录,javascript,node.js,bash,directory,sequential,Javascript,Node.js,Bash,Directory,Sequential,我想在Javascript-NodeJS中为max()现有的1+1创建顺序编号的目录 例如,如果当前目录具有: screenshots/ch33-001/ screenshots/ch33-002/ screenshots/ch33-003/ 脚本应创建下一个脚本: screenshots/ch33-004/ 如果还不存在目录,脚本应创建第一个: screenshots/ch33-001/ 我在bash脚本中使用了这个,但现在我必须将这个逻辑移到nodejs中: browser=ch33

我想在Javascript-NodeJS中为max()现有的1+1创建顺序编号的目录

例如,如果当前目录具有:

screenshots/ch33-001/
screenshots/ch33-002/
screenshots/ch33-003/
脚本应创建下一个脚本:

screenshots/ch33-004/
如果还不存在目录,脚本应创建第一个:

screenshots/ch33-001/
我在bash脚本中使用了这个,但现在我必须将这个逻辑移到nodejs中:

browser=ch33
num=1
dirname=.
while [[ -d $dirname ]]; do
    let num++
    dirname=$(echo $browser- $num | awk '{ printf("%s%03d\n", $1, $2) }')
done
mkdir screenshots/$dirname
为了完整起见:

var helpers = {}; helpers.pad = function(num, size) {
    var s = num+"";
    while (s.length < size) s = "0" + s;
    return s;
};
var-helpers={};helpers.pad=函数(num,size){
var s=num+“”;
而(s.length
以下是我的做法:

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

var screenshot_dir = './screenshots';

var max = 0;
fs.readdirSync(screenshot_dir).forEach(function (file) {
    var match = file.match(/^ch33-(\d{3})$/);
    if (!match)
        return;

    var num = Number(match[1]);
    if (num > max)
        max = num;
});

fs.mkdirSync(path.join(screenshot_dir,
                       "ch33-" + ("000" + (max + 1)).slice(-3)));

查看节点,查看是否存在文件/目录以及创建目录。剩下的只是基本的Javascript,对它的完整解释可能不是你想要的(如果是的话,那就太笼统了,不能在这里问)。你可能是对的,我只是在偷懒。请随意改进我的答案;)酷!我喜欢regexps加上我的版本不支持中间缺少的目录。谢谢
var fs = require('fs');
var path = require('path');

var screenshot_dir = './screenshots';

var max = 0;
fs.readdirSync(screenshot_dir).forEach(function (file) {
    var match = file.match(/^ch33-(\d{3})$/);
    if (!match)
        return;

    var num = Number(match[1]);
    if (num > max)
        max = num;
});

fs.mkdirSync(path.join(screenshot_dir,
                       "ch33-" + ("000" + (max + 1)).slice(-3)));