中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-14 03:10
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS学习入门 & 精彩文章 (教学室) » [注意]FOR Command Problem
可打印版本  676 / 6
第1楼 defrag 发表于 2004-12-31 00:00
中级用户 发帖 570 积分 456
[注意]FOR Command Problem
为什么我在MS-DOS6.22上运行"for %a in (/dear) do echo %a"时显示:
d
ear
但是我在MS-DOS7.10里运行时显示:
/dear
不会吧!!?
第2楼 JonePeng 发表于 2004-12-31 00:00
金牌会员 发帖 1,883 积分 4,562 来自 广东广州
那个d使我想起0DH,即ASCII码的换行符(回车符),我猜6.22版将/d当成换行符来处理。
第3楼 defrag 发表于 2004-12-31 00:00
中级用户 发帖 570 积分 456
我哪个是:dear
第4楼 defrag 发表于 2004-12-31 00:00
中级用户 发帖 570 积分 456
for %a in (/ucdos) do echo %a显示:ucdos
第5楼 JonePeng 发表于 2005-01-01 00:00
金牌会员 发帖 1,883 积分 4,562 来自 广东广州
呵呵,也许“/”是6.22版的一个BUG,DOS6.22以后的版本都没有出现这种情况,连Win2000/XP的CMD里也没有,BUG被修正了。楼主真细心,不知是怎么发现该问题的?
第6楼 defrag 发表于 2005-01-01 00:00
中级用户 发帖 570 积分 456
我看1995年的电脑杂志的“用C语言和批处理文件实现。。。。的一次性转换”时我抄了一下批处理z再改一下注视后才发现这个问题的:

@echo off
if "%1"=="" goto usage
if "%1"=="/?" goto usage
if "%2"=="#has_drv" goto chg_drv
for %%c in (/%1) do set $=%%c
for %%c in (/%$%) do if "%%c"==":" goto has_colon
goto chg_drv
:has_colon
for %%c in (/%1) do %0 %1 #has_drv %%c:
:usage
echo Change Drive and Directory.
echo Made By DEFRAG 2004.12.09 China DOS Union
echo.
echo Usage:CDD Path
echo.
goto exit
:chg_drv
set $=
%3
if not "%1"=="%3" cd %1
:exit

第7楼 xlxlds 发表于 2005-01-07 00:00
初级用户 发帖 14 积分 141
我随便处理下 , 望高手能指点下。。。 我刚入门啊, 只知道一点。。。F:\1.bmp
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023