2014-02-18 2 views
4

Есть ли способ узнать в сценарии CMD, на каком разделе установлена ​​Windows? Мне нужно сделать программу, которая делает резервную копию, но Windows, не всегда на C:\CMD Какой раздел активен

Я попытался

C:\>DISKPART 
DISKPART>list volume 



Volume  Bst Bezeichnung DS  Typ   GrӇe Status  Info 
---------- --- ----------- ----- ---------- ------- --------- -------- 
Volume 1  C XP_speziell NTFS Partition  9 GB OK   Startpar 
Volume 2  D XP_allgemein FAT32 Partition  28 GB OK     
Volume 3  E DATEN   FAT32 Partition  28 GB OK 

, но мне нужно, что, как один кусок кода, чтобы сделать IF из него ,

ответ

1

echo %systemdrive% предоставит вам диск, на котором установлена ​​Windows. Я не уверен, что вы подразумеваете под «сделать И.Ф. из него», но если вы хотите проверить, является ли данный диск диск OS, вы могли бы сделать что-то вроде

if "%systemdrive%"=="C:" (
    [commands...] 
) 

BTW, «активный раздел «не означает то же, что и диск ОС. Это раздел, на котором находится загрузочный сектор, который указывает на код для загрузки ОС, который может или не может находиться на одном диске.

+1

спасибо! это действительно помогло! – user2786496

+0

знаете ли вы, может быть, как сделать цикл for вместо if? У меня есть что-то вроде этого: for/f %% A in ('% systemdrive% == %% A') установить OS_ROOT =% systemdrive% – user2786496

1
+1

Он спрашивает, какой диск, а не какой каталог. Кроме того, 'cd' не« узнает », что такое местоположение, он меняет текущий рабочий каталог на это место. –

Смежные вопросы