找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28047|回复: 9

[系统相关] 检测硬盘分区的BAT代码为什么%%i代表盘符呢?

[复制链接]
发表于 2013-9-9 22:58:41 | 显示全部楼层 |阅读模式
  1. @echo off
  2. set str=c d e f g h i j k l m n o p q r s t u v w x y z
  3. echo 当前硬盘的分区有:
  4. for %%i in (%str%) do if exist %%i: echo %%i:
  5. pause
复制代码
为什么可以检测出分区呢 为什么%%i 代表盘符呢
发表于 2013-9-9 23:10:22 | 显示全部楼层
本帖最后由 foxJL 于 2013-9-9 23:14 编辑

建议去学一下for和if命令
查看驱动器还有更简单的代码
  1. fsutil fsinfo drives
复制代码
发表于 2013-9-9 23:17:46 | 显示全部楼层
wmic logicaldisk where "drivetype=3" get name 试一试这个也,嘿嘿
发表于 2013-9-10 08:14:36 | 显示全部楼层
%%i是for循环的控制变量,类似于C语言的:
for (i=1; i<5; i++)

建议阅读教程:
http://www.bathome.net/thread-2189-1-1.html
 楼主| 发表于 2013-9-10 15:03:26 | 显示全部楼层
回复 4# Batcher


    谢谢你 for命令我能看懂 就是if exist %%i 为什么能监测出盘符来弄不明白
发表于 2013-9-10 15:22:54 | 显示全部楼层
回复 5# cjw00529017


    这个,说明其实还是没有看懂for命令。
发表于 2013-9-10 15:25:01 | 显示全部楼层
  1. @echo off
  2. set str=c d e f g h i j k l m n o p q r s t u v w x y z
  3. for %%i in (%str%) do (
  4.     echo 当前处理的字母是:%%i
  5.     if exist %%i: (
  6.         echo 存在盘符%%i:
  7.     )
  8. )
  9. pause
复制代码
这样执行一下,看看能否懂。
发表于 2013-9-10 15:28:41 | 显示全部楼层
看一下if/?助帮,再试一下以下命令
  1. if exist d: (echo ok) else (echo no)
复制代码
再把d:改成别的e: f: g:  ...
新手上路要多看帮助.
 楼主| 发表于 2013-9-10 20:40:32 | 显示全部楼层
回复 8# foxJL


    终于知道了  我没有注意%%i后面的冒号 谢谢版主
 楼主| 发表于 2013-9-10 20:41:21 | 显示全部楼层
回复 6# Batcher


    谢谢batcher 非常感谢 我明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 19:29 , Processed in 0.040918 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表