Javascript 在NodeJS中创建顺序编号的目录
我想在Javascript-NodeJS中为max()现有的1+1创建顺序编号的目录 例如,如果当前目录具有: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
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)));