DOS批处理枚举所有盘符 和 fsutil命令查看文件系统



dos批处理枚举所有驱动器,在最后一个驱动器上建立你指定的目录。

  在纯dos环境下你可以使用goto来指定它的走向,纯dos环境下没有vbscript可以使用,而dos命令就成为了较通用的脚本。

@REM  其中redtek这个名字为你想要建立的目录名称

@REM  CreateFile.Bat:
==================================================================

@ECHO off
FOR %%c in (Z,Y,X,W,V,U,T,S,R,Q,P,O,N,M,L,K,J,I,H,G,F,E,D,C) do (
    IF  exist %%c: (
        MD %%c:\Redtek
        GOTO :EOF
    )
)

 
  for通过循环把in所指定的数据依次送往%%c这个环境变量,由if判断其目录是否存在,如果存在就退出批处理结束。
 
  因为for循环得到的驱动器的盘符是倒序的,即从最后一个盘符开始向回判断是否为一个有效的盘符,所以只要遇到一个被if判定是有效的盘符那就一定是最后一个驱动器,所以执行完建立目录操作后就退出。
 
   还有更简捷的办法:
 
  但WINDOWS XP/2003下才有的外部批令可以帮助你同样完成考枚举所有驱动器的工作:(实际测试win10可使用该命令)
 
C:\TEMP>fsutil

---- 支持的命令 ----
behavior               控制文件系统行为
dirty                     管理卷的被损坏的位数
file                       文件特定命令
fsinfo                   文件系统信息
hardlink               硬链接管理
objectid               对象 ID 管理
quota                     配额管理
reparsepoint       重分析点管理
sparse                   稀疏文件控制
usn                         USN 管理
volume                   卷管理
 
 
C:\TEMP>fsutil fsinfo
---- 支持的 FSINFO 命令 ----
drives                   列出所有驱动器
drivetype             查询一个驱动器的驱动器类型
volumeinfo           查询卷信息
ntfsinfo               查询 NTFS 特定

你可能感兴趣的:(dos,脚本,批处理)