标题: [系统相关] 批处理把分区隐藏却显示不出来了? [打印本页]
作者: hanruiqi 时间: 2011-5-7 09:16 标题: 批处理把分区隐藏却显示不出来了?
用了你的代码,把H盘隐藏 却显示不出来了- @echo off
- if exist h:\. (
- for /f "tokens=*" %%a in ('mountvol g: /l') do (echo %%a>"%~dp0.\Vol_g.ini"&&mountvol h: /d)
- ) else (
- if exist "%~dp0.\Vol_g.ini" (
- set/p g_vol=<"%~dp0.\Vol_g.ini"
- call mountvol h: %%g_vol%%
- ) else (
- for /f %%i in ('mountvol^|findstr "\\\\\?\\Volume"') do (mountvol h: %%i&&exit /b)
- )
- )
复制代码
作者: hanruiqi 时间: 2011-5-7 09:23
用我原始的显示出来了,用你那个代码只能隐藏 却不能显示啊。
作者: lxzzr 时间: 2011-5-7 09:52
本帖最后由 lxzzr 于 2011-5-7 09:53 编辑
我给你个(单个盘符)- @echo off
- setlocal enabledelayedexpansion
- if exist h:\. (
- mountvol h: /d
- ) else (
- for /f "tokens=1,2 delims=: " %%a in (
- 'mountvol ^| findstr /n "\*" ^&
- mountvol ^| findstr /n "\\\\\?\\Volume \\"'
- ) do (
- if not defined index set /a index=%%a-1
- if !index! == %%a (
- mountvol h: %%b
- exit
- )
- )
- )
- exit
复制代码
作者: terse 时间: 2011-5-7 11:20
- @echo off&setlocal enabledelayedexpansion
- if exist h:\ (
- mountvol h: /d
- ) else (
- for /f %%i in ('mountvol ^|findstr "\\ *"') do (
- set vi=!vl!
- set vl=%%i
- if "!vl:\=!" equ "!vl!" mountvol h: !vi!
- )
- )
- pause
复制代码
作者: hfg1977 时间: 2011-5-7 15:01
恢复楼主:
代码之所以错误,是因为你的目录下存在Vol_g.ini文件,而Vol_g.ini记录的是g:的卷信息, 当然会错误.
, 你把Vol_g.ini删除就行了.
不懂别人代码的情况下,修改代码会出现难以预料的问题, 很多问题又难以很快发现,这不但给自己造成困扰, 也
会造成别人的困扰.
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |