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

[系统相关] 批处理把分区隐藏却显示不出来了?

用了你的代码,把H盘隐藏 却显示不出来了
  1. @echo off
  2. if exist h:\. (
  3. for /f "tokens=*" %%a in ('mountvol g: /l') do (echo %%a>"%~dp0.\Vol_g.ini"&&mountvol h: /d)
  4. ) else (
  5. if exist "%~dp0.\Vol_g.ini" (
  6. set/p g_vol=<"%~dp0.\Vol_g.ini"
  7. call mountvol h: %%g_vol%%
  8. ) else (
  9. for /f %%i in ('mountvol^|findstr "\\\\\?\\Volume"') do (mountvol h: %%i&&exit /b)
  10. )
  11. )
复制代码

用我原始的显示出来了,用你那个代码只能隐藏 却不能显示啊。

TOP

本帖最后由 lxzzr 于 2011-5-7 09:53 编辑

我给你个(单个盘符)
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. if exist h:\. (
  4. mountvol h: /d
  5. ) else (
  6. for /f "tokens=1,2 delims=: " %%a in (
  7. 'mountvol ^| findstr /n "\*" ^&
  8. mountvol ^| findstr /n "\\\\\?\\Volume \\"'
  9. ) do (
  10. if not defined index set /a index=%%a-1
  11. if !index! == %%a (
  12. mountvol h: %%b
  13. exit
  14. )
  15. )
  16. )
  17. exit
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. if exist h:\ (
  3.    mountvol h: /d
  4. ) else (
  5.   for /f %%i in ('mountvol ^|findstr "\\ *"') do (
  6.     set vi=!vl!
  7.     set vl=%%i
  8.     if "!vl:\=!" equ "!vl!" mountvol h: !vi!
  9.   )
  10. )
  11. pause
复制代码

TOP

恢复楼主:
代码之所以错误,是因为你的目录下存在Vol_g.ini文件,而Vol_g.ini记录的是g:的卷信息, 当然会错误.
, 你把Vol_g.ini删除就行了.

不懂别人代码的情况下,修改代码会出现难以预料的问题, 很多问题又难以很快发现,这不但给自己造成困扰, 也
会造成别人的困扰.

TOP

返回列表