2014-03-26 109 views
0

是这样的:(这是一个例子)是否可以创建子脚本?

call :sub 
echo comes first. 
goto end 
:sub (
echo This part 
) 
:end 

也许?如果是这样,格式化它的正确方法是什么?
我知道我只能调用.bat文件,但我更愿意将这整个事情保存在一个程序中。
我希望在程序的多个部分都可以访问它,所以定期调用是不够的,因为我希望程序每次调用时都会返回到原来的状态。

回答

3

非常接近。

使用call :label确实可以调用同一个批处理文件作为单独的进程,就好像它是一个下标。使用goto :eof您可以将控制返回到主脚本,该主脚本将继续到原来的位置。

下标刚刚结束时它也应该工作,所以,你的代码应该实际上工作,除了括号,这是你使用它们的方式无效。只要删除它们,你的脚本应该工作。它应该呼应:

This part 
comes first. 
+0

你甚至可以使用一个以上的子程序,如果你用'转到结束他们:当然eof' – Stephan

+0

是。每个标签都可以是一个子程序。 'goto:eof'只是一个用于终止脚本(无论是sub还是main)的快捷方式,无需在文件末尾添加额外的标签。 – GolezTrol

相关问题