中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-24 23:46
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » dos6.22下,批处理call调用标签显示出错 查看 1,774 回复 2
楼 主 dos6.22下,批处理call调用标签显示出错 发表于 2024-12-06 22:04 ·  中国 河北 中国电信
新手上路
积分 1
发帖 1
注册 2024-12-06 00:45
1年会员
UID 185773
性别 男
状态 离线
dos6.22系统,批处理call命令调用标签显示出错(Bad command or file name),确认命令和标签没打错,标签也已定义,这是什么原因?
请前辈高手指教,谢谢。
2 发表于 2025-01-16 08:25 ·  中国 河北 中国电信
新手上路
积分 11
发帖 5
注册 2007-03-11 01:46
19年会员
UID 81347
性别 男
状态 离线
注意调用时必须在标签名前加冒号,而goto是直接跟标签名
批处理---我爱你!
3 发表于 2025-03-07 23:50 ·  中国 山西 太原 移动
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
Originally posted by czzexx at 2024-12-6 22:04:
dos6.22系统,批处理call命令调用标签显示出错(Bad command or file name),确认命令和标签没打错,标签也已定义,这是什么原因?
请前辈高手指教,谢谢。


首先,在这个年代还能见到纯DOS的应用需求,难得难得

其次,可以确认的是MS-DOS6.22是不支持Windows NT系列的CMD的命令行扩展特性的

再次,call命令调用标签正是命令行扩展特性之一,具体可以参考CMD下call /?输出


从批处理程序调用另一个批处理程序。

CALL filename

batch-parameters 指定批处理程序所需的命令行信息。

如果命令扩展被启用,CALL 会如下改变:

CALL 命令现在将卷标当作 CALL 的目标接受。
语法是:

CALL:label arguments




最后,在纯DOS下实现类似标签调用的目的并不难,类似下面的代码(未经测试)


@echo off
if "%1"==":" goto %2
echo.call调用标签开始
call %0 : lable
echo.call调用标签结束
goto end

:lable
echo.
echo call标签测试代码
echo.
goto end

:end
论坛跳转: