联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
:: 获取纯DOS方式的最后盘符 setlocal EnableDelayedExpansion set drives= CDEFGHIJKLMNOPQRSTUVWXYZ for /f %%i in ('wmic logicaldisk where "drivetype=3" get FileSystem ^| find /c "FAT"') do set doslastdrive=!drives:~%%i,1!:
Originally posted by HAT at 2008-11-25 11:14 PM: 对纯DOS不太熟悉,请教几个问题: 请问纯DOS方式下可以使用WMIC吗?你给的这段代码在纯DOS方式下能得到正确结果吗?你是用的纯DOS是哪个版本呢?
@echo off setlocal enabledelayedexpansion set bb= 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 ( set aa= for /f "tokens=*" %%a in ('dir %%i:\#### 2^>^&1^|findstr /I "specified 指"') do set aa=%%a if not "!aa!"=="" ( echo !bb!: goto :eof ) set bb=%%i )
Originally posted by lianjiang2004 at 2008-11-26 08:24 AM: xp下的结果与dos下的,是毫不相干的两码事。 不知楼主说得是啥,想要干嘛。呵呵。
Originally posted by wangff at 2008-11-26 11:16 AM: [code]@echo off setlocal enabledelayedexpansion set bb= 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 ( set aa= for /f "tokens=*" %%a in ('dir %%i:\#### 2^> ...
@echo off setlocal EnableDelayedExpansion set drives= CDEFGHIJKLMNOPQRSTUVWXYZ for /f %%i in ('wmic logicaldisk where "drivetype=3" get FileSystem ^| find /c "FAT"') do set doslastdrive=!drives:~%%i,1!: echo DOS 下最后分区盘符是 %doslastdrive%。 for /f %%a in ('"wmic logicaldisk where DriveType="3" get DeviceID |find /v "DeviceID""') do set cmdlastdrive=%%a echo CMD 下最后分区盘符是 %cmdlastdrive%。 pause
@echo off setlocal EnableDelayedExpansion set drives= CDEFGHIJKLMNOPQRSTUVWXYZ 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 ( for /f "tokens=2" %%a in ('chkntfs %%i:^|findstr /i "FAT32"') do ( if "%%a"=="FAT32。" set num+=1 ) ) set doslastdrive=!drives:~%num%,1!: echo %doslastdrive% pause
Originally posted by wangff at 2008-11-26 01:20 PM: 这样U盘也算在内.
@echo off setlocal EnableDelayedExpansion set drives= CDEFGHIJKLMNOPQRSTUVWXYZ 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 ( for /f "tokens=2" %%a in ('chkntfs %%i:^|findstr /i "文件系统的类型是"') do ( if "%%a"=="RAW。" goto :end if "%%a"=="FAT32。" set /a num+=1 ) ) :end set doslastdrive=!drives:~%num%,1!: echo %doslastdrive% pause
Originally posted by lianjiang2004 at 2008-11-26 02:53 PM: dos下的最后盘符,不到dos下去确定,而在window下确定,是不合理的。