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