Показать полную графическую версию : [решено] Данные о логических разделах (всего,свободно) без WMI и fsutil
Из под Live WinPE запускается батник, одной из функций которого должен быть вывод информации о разделах (fixed, removable) исключив CD-привод.
Нужны 3 параметра буква, размер, свободно на диске (байт, мегабайт, но не гигабайт как показывает "diskpart list volume" или "psinfo -d") эти параметры будут использоваться в дальнейшем.
fsutil не подходит т.к. есть разделы FAT32
wmic не подходит т.к. его нет в WinPE
Свободное место можно узнать из DIR, а вот размер диска не знаю, может есть какая консольная утилита которая выдаст подобную информацию.
у меня под WinPE так,
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
strComputer ="localhost"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_LogicalDisk", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
sOut = objItem.Name & " " & objItem.Size
mbSize = int (objItem.Size / 1024 /1024)
sOut = sOut & " " & "(" & mbSize & " MB) "
sOut = sOut & " " & "Free: " & objItem.FreeSpace
sOut = sOut & " " & objItem.Description
sOut = sOut & " " & "Type: " & objItem.DriveType
sOut = sOut & " " & "FS:" & objItem.FileSystem
sOut = sOut & " " & "MediaType: " & objItem.MediaType
WScript.Echo sOut
'end if
Next
СD и прочий хлам может отфильтровать по MediaType
Опиум, Это на чем? меня CMD/BAT интересует...
Опиум, Это на чем? »
WSH (VBScript) + Wbem.
Это на чем? »
Это vbscript
я его тоже из winpe запускаю батником) show_disk.cmd
cscript мой_этот_скрипт.vbs
Опиум, не во всех WinPE есть WSH и WMI, а хотелось бы универсальности , может есть какой консольный менеджер разделов, который может выдать инфу о разделах...
lz57005, берёте C/C++, пишете код, линкуете статически с библиотеками и — вуаля.
Iska, мог бы взять C/C++, вопросов бы не было...
не во всех WinPE есть WSH и WMI, »
не буду спорить, не помню. Но в свой образ winpe я интегрировал все что было нужно.
https://msdn.microsoft.com/ru-ru/library/hh824926.aspx
пришлось таки наваять простенькую утилиту которая банально выдает - букву, размер, свободно - логических разделов ненулевого размера (проверяет от C до Z).
Пример использования в батнике:
@echo off
for /f "tokens=1-3" %%i in ('lv') do (
echo Диск %%i: Размер: %%j Мб. Свободно: %%k Мб.
)
pause
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.