复制代码
- @echo off
- @echo list volume > disktemp.txt
- diskpart /s disktemp.txt|findstr /i d-rom|findstr /i /n d-rom > cdtemp.txt
- diskpart /s disktemp.txt|findstr /i 移动|findstr /i /n 移动 > usbtemp.txt
- for /f "tokens=3" %%a in ('find /c /i "d-rom" cdtemp.txt') do set cdnum=%%a
- for /f "tokens=3" %%a in ('find /c /i "移动" usbtemp.txt') do set usbnum=%%a
- echo 这台电脑上配置有:%cdnum%个光驱,%usbnum%个闪存。
- if %cdnum% equ 0 if %usbnum% equ 0 goto:L
- if %cdnum% equ 0 if %usbnum% gtr 2 goto:M
- if %cdnum% gtr 2 if %usbnum% equ 0 goto:M
- if %cdnum% gtr 2 if %usbnum% gtr 2 goto:M
- if %cdnum% equ 1 if %usbnum% equ 0 call:J
- if %cdnum% equ 1 if %usbnum% equ 0 call:A
- if %cdnum% equ 2 if %usbnum% equ 0 call:J
- if %cdnum% equ 2 if %usbnum% equ 0 call:A
- if %cdnum% equ 1 if %usbnum% gtr 2 call:J
- if %cdnum% equ 1 if %usbnum% gtr 2 call:A
- if %cdnum% equ 2 if %usbnum% gtr 2 call:J
- if %cdnum% equ 2 if %usbnum% gtr 2 call:A
- if %cdnum% equ 0 if %usbnum% equ 1 call:K
- if %cdnum% equ 0 if %usbnum% equ 1 call:B
- if %cdnum% equ 0 if %usbnum% equ 2 call:K
- if %cdnum% equ 0 if %usbnum% equ 2 call:B
- if %cdnum% gtr 2 if %usbnum% equ 1 call:K
- if %cdnum% gtr 2 if %usbnum% equ 1 call:B
- if %cdnum% gtr 2 if %usbnum% equ 2 call:K
- if %cdnum% gtr 2 if %usbnum% equ 2 call:B
- if %cdnum% equ 1 if %usbnum% equ 1 call:I
- if %cdnum% equ 1 if %usbnum% equ 1 call:A
- if %cdnum% equ 1 if %usbnum% equ 1 call:B
- if %cdnum% equ 1 if %usbnum% equ 2 call:I
- if %cdnum% equ 1 if %usbnum% equ 2 call:A
- if %cdnum% equ 1 if %usbnum% equ 2 call:B
- if %cdnum% equ 2 if %usbnum% equ 1 call:I
- if %cdnum% equ 2 if %usbnum% equ 1 call:A
- if %cdnum% equ 2 if %usbnum% equ 1 call:B
- if %cdnum% equ 2 if %usbnum% equ 2 call:I
- if %cdnum% equ 2 if %usbnum% equ 2 call:A
- if %cdnum% equ 2 if %usbnum% equ 2 call:B
- @echo 当前驱动器号分配如下:
- diskpart /s disktemp.txt
- @echo 当前驱动器号分配如下:
- @echo list volume > disktemp.txt
- diskpart /s disktemp.txt
- goto:eof
- :A
- for /f "tokens=1,3 delims=:, " %%a in (cdtemp.txt) do set cdvol%%a=%%b
- for /f "tokens=1,4 delims=:, " %%a in (cdtemp.txt) do set cdltr%%a=%%b
- if %cdnum% equ 1 (call:G) else (if exist %cdltr1%:\bootmgr (call:C) else call:D)
- goto:eof
- :B
- for /f "tokens=1,3 delims=:, " %%a in (usbtemp.txt) do set usbvol%%a=%%b
- for /f "tokens=1,4 delims=:, " %%a in (usbtemp.txt) do set usbltr%%a=%%b
- if %usbnum% equ 1 (call:H) else (if exist %usbltr1%:\bootmgr (call:E) else call:F)
- goto:eof
- :C
- @echo select volume %cdvol1% >> disktemp.txt
- @echo remove letter=%cdltr1% >> disktemp.txt
- @echo assign letter=z >> disktemp.txt
- @echo select volume %cdvol2% >> disktemp.txt
- @echo remove letter=%cdltr2% >> disktemp.txt
- @echo assign letter=y >> disktemp.txt
- goto:eof
- :D
- @echo select volume %cdvol1% >> disktemp.txt
- @echo remove letter=%cdltr1% >> disktemp.txt
- @echo assign letter=y >> disktemp.txt
- @echo select volume %cdvol2% >> disktemp.txt
- @echo remove letter=%cdltr2% >> disktemp.txt
- @echo assign letter=z >> disktemp.txt
- goto:eof
- :E
- @echo select volume %usbvol1% >> disktemp.txt
- @echo remove letter=%usbltr1% >> disktemp.txt
- @echo assign letter=w >> disktemp.txt
- @echo select volume %usbvol2% >> disktemp.txt
- @echo remove lettet=%usbltr2% >> disktemp.txt
- @echo assign letter=v >> disktemp.txt
- goto:eof
- :F
- @echo select volume %usbvol1% >> disktemp.txt
- @echo remove letter=%usbltr1% >> disktemp.txt
- @echo assign letter=v >> disktemp.txt
- @echo select volume %usbvol2% >> disktemp.txt
- @echo remove letter=%usbltr2% >> disktemp.txt
- @echo assign letter=w >> disktemp.txt
- goto:eof
- :G
- @echo select volume %cdvol1% >> disktemp.txt
- @echo remove letter=%cdltr1% >> disktemp.txt
- @echo assign letter=z >> disktemp.txt
- goto:eof
- :H
- @echo select volume %usbvol1% >> disktemp.txt
- @echo remove letter=%usbltr1% >> disktemp.txt
- @echo assign letter=w >> disktemp.txt
- goto:eof
- :I
- @echo 正在给光盘驱动器和闪存盘重新分配驱动器号,请稍候...
- goto:eof
- :J
- @echo 正在给光盘驱动器重新分配驱动器号,请稍候...
- goto:eof
- :K
- @echo 正在给闪存盘重新分配驱动器号,请稍候...
- goto:eof
- :L
- @echo 不需要重新设置&pause&&goto:eof
- :M
- @echo 超过超过数量上限 2 请修改本批处理文件后再运行&pause&&goto:eof
欢迎光临 批处理之家 (http://bbs.bathome.net/) | Powered by Discuz! 7.2 |