原帖由 vincentzhou 于 2010-12-14 22:54 发表 ::查看驱动器
@echo
retlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2 delims=" %%a in ('fsutil fsinfo drives^|find /v""') do (
set aa=%%a
set aa=!aa:~-2!
For %%i in (!aa!) do fsutil fsinfo drivetype %%i
)
pause我不懂的语句是('fsutil fsinfo drives^|find /v""'),解释清楚一点,谢谢!
楼主给的代码错误,应该这样:- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('fsutil fsinfo drives^|find /v ""') do (
- set aa=%%a
- for %%b in (!aa:~-3^,2!) do fsutil fsinfo drivetype %%b
- )
- pause
复制代码 fsutil fsinfo drives:列出计算机中所有的驱动器。例如输出内容:驱动器: C:\ D:\ E:\ F:\ G:\ H:\ I:\ J:\ K:\ R:\
find /v "" 进行查询,这里主要利用其处理 fsutil fsinfo drives 输出的文件,“驱动器:”和“C:\”之间是空格(0x20)。
盘符之间不是空格,而是空字符(0x00),被 find /v "" 处理时换行。
如果要查询硬盘各个分区及其类型,可以直接:- wmic logicaldisk where DriveType=3 get DeviceID,Description
复制代码
如果要查询硬盘各个分区,可以直接:- wmic logicaldisk where DriveType=3 get DeviceID
复制代码
[ 本帖最后由 hanyeguxing 于 2010-12-14 23:26 编辑 ] |