标题: [系统相关] 检测硬盘分区的BAT代码为什么%%i代表盘符呢? [打印本页]
作者: cjw00529017 时间: 2013-9-9 22:58 标题: 检测硬盘分区的BAT代码为什么%%i代表盘符呢?
- @echo off
- 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
- echo 当前硬盘的分区有:
- for %%i in (%str%) do if exist %%i: echo %%i:
- pause
复制代码
为什么可以检测出分区呢 为什么%%i 代表盘符呢
作者: foxJL 时间: 2013-9-9 23:10
本帖最后由 foxJL 于 2013-9-9 23:14 编辑
建议去学一下for和if命令
查看驱动器还有更简单的代码复制代码
作者: 林小七 时间: 2013-9-9 23:17
wmic logicaldisk where "drivetype=3" get name 试一试这个也,嘿嘿
作者: Batcher 时间: 2013-9-10 08:14
%%i是for循环的控制变量,类似于C语言的:
for (i=1; i<5; i++)
建议阅读教程:
http://www.bathome.net/thread-2189-1-1.html
作者: cjw00529017 时间: 2013-9-10 15:03
回复 4# Batcher
谢谢你 for命令我能看懂 就是if exist %%i 为什么能监测出盘符来弄不明白
作者: Batcher 时间: 2013-9-10 15:22
回复 5# cjw00529017
这个,说明其实还是没有看懂for命令。
作者: Batcher 时间: 2013-9-10 15:25
- @echo off
- 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
- for %%i in (%str%) do (
- echo 当前处理的字母是:%%i
- if exist %%i: (
- echo 存在盘符%%i:
- )
- )
- pause
复制代码
这样执行一下,看看能否懂。
作者: foxJL 时间: 2013-9-10 15:28
看一下if/?助帮,再试一下以下命令- if exist d: (echo ok) else (echo no)
复制代码
再把d:改成别的e: f: g: ...
新手上路要多看帮助.
作者: cjw00529017 时间: 2013-9-10 20:40
回复 8# foxJL
终于知道了 我没有注意%%i后面的冒号 谢谢版主
作者: cjw00529017 时间: 2013-9-10 20:41
回复 6# Batcher
谢谢batcher 非常感谢 我明白了
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |