Чтобы вывести список каталогов, доступных только для чтения, в Node.js, вы можете использовать модуль fsдля доступа к файловой системе. Вот несколько методов, которые вы можете использовать:
fs.readdir(): этот метод асинхронно считывает содержимое каталога и возвращает массив имен файлов. Затем вы можете использовать другие методы, чтобы определить, доступен ли каталог только для чтения.
const fs = require('fs');
fs.readdir(path, { withFileTypes: true }, (err, files) => {
if (err) {
console.error(err);
return;
}
// Filter directories that are read-only
const readOnlyDirectories = files.filter((file) => {
const isDirectory = file.isDirectory();
const isReadOnly = !(file.mode & parseInt('222', 8)); // Check if directory is read-only
return isDirectory && isReadOnly;
});
console.log(readOnlyDirectories);
});
-
fs.stat(): этот метод извлекает информацию о файле. Приношу извинения за неполный ответ. Вот еще несколько способов вывести список каталогов, доступных только для чтения, в Node.js: -
fs.statSync(): этот метод синхронно получает информацию о файле или каталоге. Вы можете использовать его, чтобы проверить, доступен ли каталог только для чтения.
const fs = require('fs');
const files = fs.readdirSync(path, { withFileTypes: true });
const readOnlyDirectories = files.filter((file) => {
const isDirectory = file.isDirectory();
const isReadOnly = !(file.mode & parseInt('222', 8)); // Check if directory is read-only
return isDirectory && isReadOnly;
});
console.log(readOnlyDirectories);
fs.access(): этот метод проверяет доступность файла или каталога. Передав флагfs.constants.R_OK, вы можете определить, доступен ли каталог для чтения.
const fs = require('fs');
fs.readdir(path, { withFileTypes: true }, (err, files) => {
if (err) {
console.error(err);
return;
}
const readOnlyDirectories = [];
files.forEach((file) => {
if (file.isDirectory()) {
try {
fs.accessSync(`${path}/${file.name}`, fs.constants.R_OK);
} catch (err) {
readOnlyDirectories.push(file.name);
}
}
});
console.log(readOnlyDirectories);
});