dos如何得到系统的最后一个盘符的下一个字母,如本机有cdefhi个盘,其中i为光驱,现我想设虚拟光驱,其盘符应为i的下一个字符j,由于不同的机子最后一个盘的字母不同,请问如何才能得到最后一个盘符的下一个字母
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
setlocal EnableDelayedExpansion
set n=4
for /f "delims=驱动器ABC:\ " %%d in ('fsutil fsinfo drives^|more') do (set /a n+=1)
set "num= abcdefghijklmnopqrstuvwxyz"
for /l %%i in (0 1 26) do set "drive%%i=!num:~%%i,1!"
echo !drive%n%!
@echo off &&setlocal enabledelayedexpansion
set "all=abcdefghijklmnopqrstuvwxyz"
for /f "skip=1 delims=" %%i in ('wmic logicaldisk get caption') do set drive=%%i
set b=%drive:~0,1%
if /i "%b%"=="a" echo 你电脑就一个A盘?不可能吧&&pause
if /i "%b%"=="z" echo 已经是最后一个盘了,下一个我也不知道是什么盘&&pause
for /f "delims=%b% tokens=2" %%i in ("%all%") do (
set a=%%i
echo The next number is !a:~0,1!
)
pause
@echo off
set "num=abcdefghijklmnopqrstuvwxyz"
for /f "delims=:" %%a in ('fsutil fsinfo drives^|more') do set "n=%%a"
call set var=%%num:*%n%=%%
echo 最后一个盘的下一个盘符是 %var:~0,1% 盘
pause

奇怪了,以前没有发现。