![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-23 18:33 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求助!我的for的用法那里出错了? |
| 可打印版本 1,019 / 4 |
| 第1楼 austion | 发表于 2006-07-14 08:10 |
| 初级用户 发帖 82 积分 178 | |
|
求助!我的for的用法那里出错了? set l=1
set n=0 set t=1 for /f "skip=2 tokens=2,3,4" %%a in ('find "Type " GHSTSTAT.TXT') do ( if %n% LSS 1 goto error0 if %n% EQU 1 goto error2 if %t% GTR %n% goto 001 echo 你的第%t%分区的文件系统为:%%a set /a t=%t%+%l% ) :error0 echo 找不到硬盘 :error2 echo 硬盘只有1个分区,不能运行GHOST :001 |
|
| 第2楼 bagpipe | 发表于 2006-07-14 16:39 |
| 银牌会员 发帖 425 积分 1,144 来自 北京 | |
|
你的思路有些问题,例如,如果没有硬盘你的批处理又怎么运行呢?还有判断机器上有几个分区这个好像跟本就不成吧?
@echo off setlocal enabledelayedexpansion for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do ( if exist %%a:\nul set ii=!ii!%%a: &&set /a i+=1 ) echo 您机器上一共有( %ii% ) 这%i%个分区 |
|
| 第3楼 buddiyar | 发表于 2006-07-14 23:51 |
| 初级用户 发帖 75 积分 160 | |
|
"if exist %%a:\nul set ii=!ii!%%a: "
利用nul空设备判断是否存在c-z盘,并将其赋给ii变量以便调用显示 还可以这样判断的 if exist %%a:\boot.ini set ii=!i!%%a 另外"set ii=!i!%%a"中的!是用来对i做变量延迟的 哈哈 小的刚刚学到的啊 呵呵 |
|
| 第4楼 austion | 发表于 2006-07-15 00:48 |
| 初级用户 发帖 82 积分 178 | |
|
buddiyar的命令我就不知道
但是bagpipe的命令在DOS下是语法错误的,求解:为什么会是语法错误? |
|
| 第5楼 bagpipe | 发表于 2006-07-15 08:42 |
| 银牌会员 发帖 425 积分 1,144 来自 北京 | |
|
纯DOS当然不成了,CMD命令提示符下还是可以的...........
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |