Batch file 如何使用批处理文件查找windows的默认驱动器

Batch file 如何使用批处理文件查找windows的默认驱动器,batch-file,Batch File,是否有方法使用批处理文件查找安装windows的驱动器 比如说 @echo off set /p a=enter= if %a%==%windows% goto c if %a%==d goto d :c echo Windows drive pause :d echo Not Windows Drive pause 这存储在变量%SystemDrive% echo %SystemDrive% 但您可能希望改用%SystemRoot%,其中包括驱动器和目录: echo %System

是否有方法使用批处理文件查找安装windows的驱动器

比如说

@echo off
set /p a=enter=
if %a%==%windows% goto c
if %a%==d goto d    
:c
echo Windows drive
pause
:d
echo Not Windows Drive
pause

这存储在变量
%SystemDrive%

echo %SystemDrive%
但您可能希望改用%SystemRoot%,其中包括驱动器和目录:

echo %SystemRoot%

短一些字符。:)


这也将返回驱动器:

for /f %%a in ('echo %comspec% ^| choice /c:abcdefghijklmnopqrstuvwxyz /n') do set driv=%%a
甚至更短

echo %comspec:~0,1%
Rem Also with the colon
echo %comspec:~0,2%

嘿,谢谢,但是我如何在if语句中介绍它,它似乎%a%=%SystemDrive%工作不正常使用
if%a%eq%SystemDrive%
。顺便说一句:%SystemDrive%是
C:
,%a%可能只是
C
。如果是,请编写
If%a%:eq%SystemDrive%
。我认为%SystemDrive%只指向可引导驱动器,windows可能位于其他派生驱动器上。位我不完全确定。代码似乎区分大小写,它为c和c提供了不同的输出。有没有办法用
If/I“string”eq“string”来纠正它
您可以进行不区分大小写的比较。@谢谢。当其他人提供了第一步时,通常很容易想到增强功能
echo %windir:~0,2%
for /f %%a in ('echo %comspec% ^| choice /c:abcdefghijklmnopqrstuvwxyz /n') do set driv=%%a
echo %comspec:~0,1%
Rem Also with the colon
echo %comspec:~0,2%