Board logo

标题: 请教:Call返回值问题 [打印本页]

作者: willsion     时间: 2007-3-7 00:12    标题: 请教:Call返回值问题

批处理中,call既可以调用一个子批处理文件,也可以调用一个批处理内的标签子批处理,并且可以给予赋予参数,供子批处理文件或标签子批处理使用,请问,有没有办法使子批处理文件(或标签子批处理)返回一个值给调用的批处理文件?


谢谢解答。
作者: redtek     时间: 2007-3-7 00:47
被 call 的批处理文件: 使用  EXIT  n 加返回值的方式可以将n指定为任意数字做为返回值给调用者。

调用者使用 ERRORLEVEL 的变量值来取得其被调用者所传递过来的参数:)


EXIT 帮助信息:)
exit /?
退出 CMD.EXE 程序(命令解释器)或当前批处理脚本。

EXIT [/B] [exitCode]

  /B          指定要退出当前批处理脚本而不是 CMD.EXE。如果从一个
              批处理脚本外执行,则会退出 CMD.EXE

  exitCode    指定一个数字号码。如果指定了 /B,将 ERRORLEVEL
              设成那个数字。如果退出 CMD.EXE,则用那个数字设置
              过程退出代码。
如果是 Call 所调用的是标签段,可以使用模拟“全局变量”的方式在被CALL的标签段代码中设置(改变)某一全局变量等……
作者: willsion     时间: 2007-3-7 01:35


  Quote:
Originally posted by redtek at 2007-3-7 12:47 AM:
被 call 的批处理文件: 使用  EXIT  n 加返回值的方式可以将n指定为任意数字做为返回值给调用者。

调用者使用 ERRORLEVEL 的变量值来取得其被 ...

谢谢指教。