2013-09-10 3 views

ответ

2
for /f "tokens=1 delims=\" %%D in ("%windir%") do echo %%D 
+0

Кажется, что код чувствителен к регистру, его дают разные выходные данные для c и C. любым способом его исправления – Eka

+1

с строкой 'IF/I '" equ "STRING" 'вы можете делать нечувствительные к регистру сравнения. – npocmaka

+0

Это сработало спасибо человеку – Eka

5

Это хранится в переменной %SystemDrive%

echo %SystemDrive% 

Но вы, вероятно, хотите использовать% SystemRoot% вместо, который включает в себя привод и каталог:

echo %SystemRoot% 
+0

эй спасибо, но, как я представить его в, если заявление, кажется,% в% =% SystemDrive% не работает должным образом – Eka

+1

использовать 'если% в% EQU% SystemDrive% '. Btw:% SystemDrive% - 'C:',% a%, вероятно, только 'C'. Если да, напишите 'if% a%: EQU% SystemDrive%'. – Stephan

+0

Я думаю, что% SystemDrive% указывает только на загрузочный диск, а окна могут быть на другом выходе. Я не совсем уверен. – npocmaka

4

Несколько символов короче. :)

for %%a in ("%windir%") do echo %%~da 

Или

echo %windir:~0,2% 
+0

Еще 10 баллов из меня ... – npocmaka

+0

@npocmaka Спасибо. Часто бывает легко подумать об улучшении, когда кто-то еще выполнил первые шаги. – foxidrive

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