如何使用nodejs
使用纯JavaScript或包计算目录中的文件数?我想做这样的事情:
How to count the number of files in a directory using Python
或者在bash脚本中我会这样做:
getLength() {
DIRLENGTH=1
until [ ! -d "DIR-$((DIRLENGTH+1))" ]; do
DIRLENGTH=$((DIRLENGTH+1))
done
}
答案 0 :(得分:38)
使用fs
,我发现检索目录文件计数很简单。
const fs = require('fs');
const dir = './directory';
fs.readdir(dir, (err, files) => {
console.log(files.length);
});
答案 1 :(得分:3)
没有外部模块的替代解决方案,可能不是最有效的代码,但是可以在没有外部依赖的情况下完成:
if (isset($_GET['action']) && ($_GET['action'] == 'process') && isset($_POST['formid']) && ($_POST['formid'] == $_SESSION['sessiontoken'])) {
$error = false;
$google_captcha = HTML::sanitize($_POST['g-recaptcha-response']);
var_dump($google_captcha);
var_dump($OSCOM_GoogleRecaptcha->check($google_captcha));
exit;
}
result of var_dump : string(0) "" bool(false)
答案 2 :(得分:3)
const fs = require('fs')
const length = fs.readdirSync('/home/directory').length
答案 3 :(得分:2)
1)下载shell.js和node.js(如果你没有)
2)转到下载它的位置并在那里创建一个名为countFiles.js
的文件
var sh = require('shelljs');
var count = 0;
function annotateFolder (folderPath) {
sh.cd(folderPath);
var files = sh.ls() || [];
for (var i=0; i<files.length; i++) {
var file = files[i];
if (!file.match(/.*\..*/)) {
annotateFolder(file);
sh.cd('../');
} else {
count++;
}
}
}
if (process.argv.slice(2)[0])
annotateFolder(process.argv.slice(2)[0]);
else {
console.log('There is no folder');
}
console.log(count);
3)打开shelljs文件夹中的命令promt(其中countFiles.js是)并写入node countFiles "DESTINATION_FOLDER"
(例如node countFiles "C:\Users\MyUser\Desktop\testFolder"
)
答案 4 :(得分:0)
好的,我有一个更简单的方法:
function count() {
var shell = require('shelljs');
return shell.exec("cd destinationFolder || exit; ls -d -- */ | grep 'page-*' | wc -l", { silent:true }).output;
}
module.exports.count = count;
就是这样。
答案 5 :(得分:0)
这是简单的代码,
ci
答案 6 :(得分:0)
const readdir = (path) => {
return new Promise((resolve, reject) => {
fs.readdir(path, (error, files) => {
error ? reject(error) : resolve(files);
});
});
};s
readdir("---path to directory---").then((files) => {
console.log(files.length);
});