Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Данные о логических разделах (всего,свободно) без WMI и fsutil (http://forum.oszone.net/showthread.php?t=313520)

lz57005 05-04-2016 11:56 2623242

Данные о логических разделах (всего,свободно) без WMI и fsutil
 
Из под Live WinPE запускается батник, одной из функций которого должен быть вывод информации о разделах (fixed, removable) исключив CD-привод.

Нужны 3 параметра буква, размер, свободно на диске (байт, мегабайт, но не гигабайт как показывает "diskpart list volume" или "psinfo -d") эти параметры будут использоваться в дальнейшем.

fsutil не подходит т.к. есть разделы FAT32
wmic не подходит т.к. его нет в WinPE

Свободное место можно узнать из DIR, а вот размер диска не знаю, может есть какая консольная утилита которая выдаст подобную информацию.

Опиум 05-04-2016 12:01 2623244

у меня под 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

lz57005 05-04-2016 12:10 2623245

Опиум, Это на чем? меня CMD/BAT интересует...

Iska 05-04-2016 12:53 2623262

Цитата:

Цитата lz57005
Опиум, Это на чем? »

WSH (VBScript) + Wbem.

Опиум 07-04-2016 09:14 2623834

Цитата:

Цитата lz57005
Это на чем? »

Это vbscript
я его тоже из winpe запускаю батником) show_disk.cmd
Код:

cscript мой_этот_скрипт.vbs

lz57005 07-04-2016 17:05 2624027

Опиум, не во всех WinPE есть WSH и WMI, а хотелось бы универсальности , может есть какой консольный менеджер разделов, который может выдать инфу о разделах...

Iska 07-04-2016 17:21 2624033

lz57005, берёте C/C++, пишете код, линкуете статически с библиотеками и — вуаля.

lz57005 07-04-2016 17:33 2624042

Iska, мог бы взять C/C++, вопросов бы не было...

Опиум 08-04-2016 11:18 2624291

Цитата:

Цитата lz57005
не во всех WinPE есть WSH и WMI, »

не буду спорить, не помню. Но в свой образ winpe я интегрировал все что было нужно.
https://msdn.microsoft.com/ru-ru/library/hh824926.aspx

lz57005 08-04-2016 15:12 2624419

Вложений: 1
пришлось таки наваять простенькую утилиту которая банально выдает - букву, размер, свободно - логических разделов ненулевого размера (проверяет от C до Z).
Пример использования в батнике:
Код:

@echo off
for /f "tokens=1-3" %%i in ('lv') do (
echo Диск %%i: Размер: %%j Мб. Свободно: %%k Мб.
)
pause



Время: 17:53.

Время: 17:53.
© OSzone.net 2001-