中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-13 13:36
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 请问98纯DOS下可以这样吗? 查看 811 回复 2
楼 主 请问98纯DOS下可以这样吗? 发表于 2007-02-10 01:19 ·  中国 北京 海淀区 IDC机房
初级用户
积分 84
发帖 26
注册 2007-02-06 13:37
19年会员
UID 78794
性别 男
状态 离线
@echo on
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 (
if exist %%a:\...\nul (
...
if exist %%a:\...\... (
...
) else (
...
)))else (
goto mg
))
:mg
dir

试过会出现
Bad command or file name
2 %%a也不会变成c d e... 发表于 2007-02-10 01:21 ·  中国 北京 海淀区 IDC机房
初级用户
积分 84
发帖 26
注册 2007-02-06 13:37
19年会员
UID 78794
性别 男
状态 离线
请帮忙改改
3 发表于 2007-02-10 02:08 ·  中国 广东 广州 珠江宽频
中级用户
★★
积分 210
发帖 85
注册 2007-01-14 12:38
19年会员
UID 76501
性别 男
来自 广东广州
状态 离线
98纯DOS是不支持 if 的 else 子句的。

如需测试盘符的存在,使用以下代码查找最后一个分区:
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 last=%%a

若存在光驱等,另用代码调整。

[ Last edited by lizaoyou on 2007-2-9 at 03:31 PM ]
论坛跳转: