Как я могу определить файловую систему данной буквы диска с помощью cmd.exe для Windows 10 NON-ADMIN?
Я хочу запустить эту команду и зафиксировать результат:
fsutil fsinfo volumeInfo C:
Но если я не открою cmd.exe вручную «от имени администратора», он не выполнит команду по какой-то абсурдной причине. Это означает, что его нельзя запустить из PHP CLI.
Какой другой, неглупый способ получить эту информацию? И почемуfsutil
команда, требующая административных привилегий?
Обратите внимание: я потратил много лет своей жизни, пытаясь заставить PHP CLI работать от имени администратора, чтобы подобные вещи работали, но это так и не сработало. Все «обходные пути», которые я слышал, безумны, от них у меня мурашки по коже.
3 ответа
wmic
не требует повышения администратора.
Чтобы получить все диски:
wmic volume get DriveLetter,FileSystem
Чтобы перечислить один диск (D):
wmic volume where DriveLetter='D:' get FileSystem
Вот как добиться того же действия в WMI с помощью PowerShell, поскольку wmic устарел. Чтобы получить только D:, используйте следующую команду (Get-WmiObject).
Get-WmiObject -Class Win32_Volume | Where-Object {$_.DriveLetter -eq "D:"}
Чтобы получить все диски, используйте следующую команду:
Get-WmiObject -Class Win32_Volume
Если вы хотите видеть меньше вывода и узнать только файловую систему, связанную с каждым диском, вы также можете использовать эту команду, чтобы выбрать только букву диска и свойства файловой системы из объектов тома:
Get-WmiObject -Class Win32_Volume | Select-Object -Property DriveLetter,FileSystem
Пытатьсяwmic volume get caption,filesytem
И отфильтруйте вывод по нужной букве диска.
Не требует прав администратора.