Use PowerShell to get windows drive paths.

wmic has been deprecated on newer versions of Windows 11 and is not installed.

resolves #4531
This commit is contained in:
sir-wilhelm 2025-07-25 12:33:46 -05:00
parent a5fb0d9cdb
commit cae1560344

View File

@ -476,7 +476,7 @@ module.exports.getWindowsDrives = async () => {
return [] return []
} }
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
exec('wmic logicaldisk get name', async (error, stdout, stderr) => { exec('powershell -Command "(Get-PSDrive -PSProvider FileSystem).Name"', async (error, stdout, stderr) => {
if (error) { if (error) {
reject(error) reject(error)
return return
@ -485,10 +485,9 @@ module.exports.getWindowsDrives = async () => {
?.split(/\r?\n/) ?.split(/\r?\n/)
.map((line) => line.trim()) .map((line) => line.trim())
.filter((line) => line) .filter((line) => line)
.slice(1)
const validDrives = [] const validDrives = []
for (const drive of drives) { for (const drive of drives) {
let drivepath = drive + '/' let drivepath = drive + ':/'
if (await fs.pathExists(drivepath)) { if (await fs.pathExists(drivepath)) {
validDrives.push(drivepath) validDrives.push(drivepath)
} else { } else {