| 
 
cxfaa 
初级用户
 
  
 
  
  
积分 64 
发帖 23 
注册 2007-1-16 
状态 离线
 | 
『楼 主』:
 dos如何得到系统的最后一个盘符的下一个字母
 
使用 LLM 解释/回答一下
  
dos如何得到系统的最后一个盘符的下一个字母,如本机有cdefhi个盘,其中i为光驱,现我想设虚拟光驱,其盘符应为i的下一个字符j,由于不同的机子最后一个盘的字母不同,请问如何才能得到最后一个盘符的下一个字母 
 
    
 
  
 |   
 | 
  2008-5-19 11:38 | 
  
 | 
 | 
 
huahua0919 
银牌会员
 
     
 
  
 
积分 1608 
发帖 780 
注册 2007-10-7 
状态 离线
 | 
 | 
  2008-5-19 11:47 | 
  
 | 
 | 
 
zqz0012005 
中级用户
 
   
 
  
 
积分 297 
发帖 135 
注册 2006-10-21 
状态 离线
 | 
『第 3 楼』:
 
 
使用 LLM 解释/回答一下
  
其实我觉得批处理新手最先想搞清楚的问题是CMD与DOS的区别(反正当初我是这样)
 
CMD下的批处理: @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%!
  
 
    
 
  
 |   
 | 
  2008-5-19 12:40 | 
  
 | 
 | 
 
huahua0919 
银牌会员
 
     
 
  
 
积分 1608 
发帖 780 
注册 2007-10-7 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
如果是CMD的话,考虑全一些 
 
@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 
  
 
    
 
  
 |   
 | 
  2008-5-19 13:05 | 
  
 | 
 | 
 
cxfaa 
初级用户
 
  
 
  
  
积分 64 
发帖 23 
注册 2007-1-16 
状态 离线
 | 
『第 5 楼』:
 
 
使用 LLM 解释/回答一下
  
4楼你的这段代码好象有问题,不会显示是下一个盘符是什么 
@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 
 
    
 
  
 |   
 | 
  2008-5-19 15:03 | 
  
 | 
 | 
 
HAT 
版主
 
        
 
  
  
积分 9023 
发帖 5017 
注册 2007-5-31 
状态 离线
 | 
『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
大小写的原因,你把小写改成大写就行了。 
set "all=ABCDEFGHIJKLMNOPQRSTUVWXYZ" 
 
    
 
  
  |  
                  
  
                      |   
 | 
  2008-5-19 15:18 | 
  
 | 
 | 
 
26933062 
银牌会员
 
     
 
  
  
积分 2268 
发帖 879 
注册 2006-12-19 
状态 离线
 | 
『第 7 楼』:
 
 
使用 LLM 解释/回答一下
  
 
@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 
  
 
    
 
  
  |  
                  
  
                    致精致简! |   
 | 
  2008-5-19 21:57 | 
  
 | 
 | 
 
zh159 
金牌会员
 
      
 
  
 
积分 3687 
发帖 1467 
注册 2005-8-8 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
纯DOS下(自己测试): 
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\nul set Finally=%%i:
  
 
    
 
  
  |  
                  
  
                      |   
 | 
  2008-5-20 00:07 | 
  
 | 
 | 
 
terse 
银牌会员
 
     
 
  
  
积分 2404 
发帖 946 
注册 2005-9-8 
状态 离线
 | 
『第 9 楼』:
 
 
使用 LLM 解释/回答一下
  
楼上的应该这样吧 改一下 
@echo off 
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if not exist %%i:\nul set x=%%i:\&goto lp 
:lp 
echo %x% 
pause 
 
 Last edited by terse on 2008-5-20 at 12:55 AM ] 
 
    
 
  
  |  
                  
  
                    简单!简单!再简单! |   
 | 
  2008-5-20 00:54 | 
  
 | 
 | 
 
HAT 
版主
 
        
 
  
  
积分 9023 
发帖 5017 
注册 2007-5-31 
状态 离线
 | 
 | 
  2008-5-20 01:53 | 
  
 | 
 | 
 
Jneny 
高级用户
 
     中國DOS聯盟常任參議员
  
 
积分 686 
发帖 318 
注册 2005-11-4 
状态 离线
 | 
 | 
  2008-5-20 03:11 | 
  
 | 
 | 
 
HAT 
版主
 
        
 
  
  
积分 9023 
发帖 5017 
注册 2007-5-31 
状态 离线
 | 
『第 12 楼』:
 
 
使用 LLM 解释/回答一下
  
11楼能说说自己的测试环境吗?我这里测试的时候可以返回结果。 
C:\test>test.bat 
D:\ 
Press any key to continue . . . 
 
    
 
  
  |  
                  
  
                      |   
 | 
  2008-5-20 09:38 | 
  
 | 
 | 
 
Jneny 
高级用户
 
     中國DOS聯盟常任參議员
  
 
积分 686 
发帖 318 
注册 2005-11-4 
状态 离线
 | 
『第 13 楼』:
 
 
使用 LLM 解释/回答一下
  
测试了下,QEMU 0.8+ msdos7.1    
 
 
&在DOS里识别不了<img src="images/smilies/face-sad.png" align="absmiddle" border="0"><img src="images/smilies/face-sad.png" align="absmiddle" border="0">   奇怪了,以前没有发现。 
 
 
autoexec.bat  
 
set  dev=c d e f g ... z  
call findcd.bat %dev% 
 
 
findcd.bat  
 
set cdrom= 
:1 
if  %1*==* goto error 
if not exist %1:\nul goto setcd 
shift  
goto 1 
 
:setcd 
set cdrom=%1: 
SHSUCDX /D:IDE-CD,%1 
echo 你的光驱是 %cdrom% 
goto end 
 
:error 
echo   不能找到多余的盘符。 
:end 
set dev= 
 
 Last edited by Jneny on 2008-5-21 at 12:24 AM ] 
 
    
 
  
  |  
                  
  
                    . 繽紛色彩閃出的美麗是因為它沒有分開每種色彩...>/ 
  
    我的百度空间: BEYOND超越        为什么用DOS   |   
 | 
  2008-5-20 18:03 | 
  
 |