@echo off
mode con cols=40 lines=20
setlocal enabledelayedexpansion
for /f "tokens=4 delims=. " %%i in ('ver') do set ver=%%i
if !ver! equ 5 goto :vol1
if !ver! gtr 5 goto :vol2
:vol1
for /f "skip=12 delims=" %%i in ('mountvol') do (echo %%i>>vol.txt)
goto :main
:vol2
for /f "skip=21 delims=" %%i in ('mountvol') do (echo %%i>>vol.txt)
goto :main
:main
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 echo %%i>>zm.txt
echo 请耐心等待,为您分配盘符即将完成
for /f %%i in (zm.txt) do (
for /f %%j in (vol.txt) do (
mountvol %%i %%j >nul 2>nul
)
)
del /f /q vol.txt
del /f /q zm.txt
这个没有判断分区是否已经有盘符语句,执行比较慢。可以给xp win7 win10无盘符分区分配盘符,有无其他bug未知。等以后学习更多批处理知识后再来改进。