[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

回复 1楼 的帖子

这个操作具有一定的危险性,请谨慎,最好在虚拟机上先试
  1. @echo off&setlocal enabledelayedexpansion
  2. set temp_=#XYZABDEFGHIJKLMNOPQRSTUVW
  3. rem 你要修改的顺序,C盘除外
  4. pushd %windir%\system32\
  5. for /f "skip=2 tokens=1 delims=:" %%a in ('wmic logicaldisk get name') do set /a n+=1&call :sub %%a !n!
  6. pause
  7. :sub
  8. set temp__=!temp_:%1=!
  9. echo.最终替换结果:
  10. echo %1: —→ !temp__:~%2,1!:
  11. for /f "delims=" %%a in ('mountvol %1: /l') do (
  12. mountvol %1: /d
  13. mountvol !temp__:~%2,1!: %%a
  14. )
  15. goto :eof
复制代码

[ 本帖最后由 lxzzr 于 2009-11-1 11:35 编辑 ]

TOP

代码不要放在要修改的盘!!!(代码会先“卸载”掉当前的盘)

TOP

回复 8楼 的帖子

我开始也没仔细去想,现在把我的盘符搞得乱七八糟的,呵呵

这样应该好了:
将代码放在要修改的第一个盘里执行
  1. @echo off&setlocal enabledelayedexpansion
  2. set temp_=ABCDEFGHIJKLMNOPQRSTUVWXYZ
  3. for /l %%a in (0,1,26) do if "!temp_:~%%a,1!" == "%cd:~0,1%" (set /a temp__=%%a+1)
  4. if /i "%cd:~0,1%" == "C" (
  5.         for /f "tokens=1,2 delims=," %%a in (temp) do (
  6.         for /f "delims=" %%i in ('mountvol %%a /l') do mountvol %%a /d&mountvol X: %%i
  7.         for /f "delims=" %%j in ('mountvol %%b /l') do mountvol %%b /d&mountvol Y: %%j
  8.         )
  9.         erase temp,%~nx0&(echo.Done.&pause>nul)&goto :loop
  10.         ) else (
  11.         echo.当前:%cd:~0,1%:→X:,下一个:!temp_:~%temp__%,1!:→Y:
  12.         echo.%cd:~0,1%:,!temp_:~%temp__%,1!:>c:\temp
  13.         copy %0 c:\>nul&pushd c:&%~nx0
  14. )
  15. :loop
复制代码

[ 本帖最后由 lxzzr 于 2009-11-2 21:21 编辑 ]

TOP

回复 10楼 的帖子

你应该将问题改为:批处理修改可移动磁盘盘符。^_^

TOP

回复 13楼 的帖子

汗!我插上我的手机(两个盘符),是可以的啊????

TOP

回复 21楼 的帖子

这样试试
  1. @echo off&setlocal enabledelayedexpansion
  2. set temp_=ABCDEFGHIJKLMNOPQRSTUVWXYZ
  3. for /l %%a in (0,1,26) do if "!temp_:~%%a,1!" == "%cd:~0,1%" (set /a temp__=%%a+1)
  4. if /i "%cd:~0,1%" == "C" (
  5. for /f "tokens=1,2 delims=," %%a in (temp) do (
  6. for /f "delims=" %%i in ('mountvol %%a /l') do mountvol %%a /d&mountvol X: %%i
  7. for /f "delims=" %%j in ('mountvol %%b /l') do mountvol %%b /d&mountvol Y: %%j
  8. )
  9. erase temp,%~nx0&(echo.Done.&pause>nul)&goto :loop
  10. ) else (
  11. echo.当前:%cd:~0,1%:→X:,下一个:!temp_:~%temp__%,1!:→Y:
  12. echo.%cd:~0,1%:,!temp_:~%temp__%,1!:>c:\temp
  13. copy %0 c:\>nul&pushd c:&%~nx0
  14. )
  15. :loop
  16. pushd X:
  17. x:\*.exe
复制代码

TOP

返回列表