[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion&cls
  3. path=%path%;%~d0\DOS\网络;%~d0\DOS\command\第三方命令行程序;%~d0\DOS\command;%~d0\DOS\源码;%~d0\DOS\系统备份
  4. :start ============================================================
  5. for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
  6. set var=%%i
  7. set drive=!var:~-2!
  8. echo.|label !drive!|find "scyz-zy"&&set/a find_BL=1
  9. if "!find_BL!"=="1" (
  10. for /f "delims= " %%i in ('mountvol E: /l') do set E_old=%%i
  11. for /f "delims= " %%a in ('mountvol !drive! /l') do (mountvol E: /d & mountvol E: %%a & mountvol !drive! !E_old!)
  12. goto end
  13. )
  14. )
  15. :end ==============================================================
复制代码

[ 本帖最后由 hfg1977 于 2010-9-9 14:11 编辑 ]

TOP

mountvol 有一定风险,有问题跟帖说明.

TOP

label命令获得的卷标是大写的, 改下
  1. @echo off
  2. setlocal enabledelayedexpansion&cls
  3. :start ============================================================
  4. for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
  5. set var=%%i
  6. set drive=!var:~-2!
  7. set/a find_BL=0
  8. echo.|label !drive! 2>nul|find /i "scyz-zy"&&set/a find_BL=1
  9. if "!find_BL!"=="1" (
  10. for /f "delims= " %%i in ('mountvol E: /l') do set E_old=%%i
  11. for /f "delims= " %%a in ('mountvol !drive! /l') do (mountvol E: /d & mountvol E: %%a & mountvol !drive! !E_old!)
  12. goto end
  13. )
  14. )
  15. :end ==============================================================
复制代码

TOP

label命令获得的卷标是大写的, 改下
是说我把代码改了一下 -.-

TOP

首先用下面命令恢复你的E: 盘
  1. @echo off
  2. :start ============================================================
  3. if not exist Volume.txt (mountvol|findstr "\\\\\?\\Volume">Volume.txt)
  4. for /f "skip=1 usebackq delims= " %%a in ("Volume.txt") do (
  5. echo %%a
  6. mountvol E: %%a 2>nul&&goto end
  7. )
  8. :end ==============================================================
  9. pause
复制代码
在用下面的:
  1. @echo off
  2. setlocal enabledelayedexpansion&cls
  3. :start ============================================================
  4. for /f "delims=\" %%i in ('fsutil fsinfo drives^|find /v ""') do (
  5. set var=%%i
  6. set drive=!var:~-2!
  7. set/a find_BL=0
  8. echo.|label !drive! 2>nul|find /i "scyz-zy"&&(set/a find_BL=1&echo OK)
  9. if "!find_BL!"=="1" (
  10. echo !drive!
  11. for /f "delims= " %%m in ('mountvol E: /l') do echo E: +%%m+ & set E_old=%%m
  12. for /f "delims= " %%a in ('mountvol !drive! /l') do (
  13. echo !drive! +%%a+
  14. mountvol E: /d&mountvol !drive! /d
  15. mountvol E: %%a&mountvol !drive! !E_old!
  16. )
  17. goto end
  18. )
  19. )
  20. :end ==============================================================
复制代码

TOP

第一个bat仅仅是修正第二个bat造成的错误呀,用完删除好了.

现在第二个bat正确的啦.

TOP

返回列表