Как в Node получить имена локальных дисков?
Как в Node получить локальные диски?
Достаточно будет их наименования, например: ["C", "D"].
Ответы (1 шт):
Автор решения: RTK
→ Ссылка
В первую очередь нужно сказать, что такое понятие как "имена локальных дисков" есть только в Windows окружении.
Я предлагаю такой вариант:
const childProcess = require('child_process');
function getLocalDiskNames() {
const buffer = childProcess.execSync('wmic logicaldisk get Caption /format:list').toString();
const lines = buffer.split('\r\r\n');
const disks = [];
for (const line of lines) {
if(!line) {
continue;
}
const lineData = line.split('=');
disks.push(lineData[1]);
}
return disks;
}
console.log(getLocalDiskNames()); // [ 'C:', 'E:', 'F:' ]
По сути просто исполняем команду wmic logicaldisk get Caption /format:list и "чистим" результат.
Если нужно больше информации (объем и т.д.), то можно изменить команду на
wmic logicaldisk get Caption,FreeSpace,Size,VolumeSerialNumber,Description /format:list
и немного подправить парсинг.