批处理文件转到然后返回技术

时间:2018-01-05 14:16:43

标签: batch-file

我在goto指令后尝试返回时遇到困难:

@echo off 
cls 
setlocal enabledelayedexpansion 

:10
set watitle=10
title %watitle%
goto :installscreen
pause

:20
set watitle=20
title %watitle%
goto :installscreen
pause

:30
set watitle=30
title %watitle%
goto :installscreen
pause

exit

:installscreen
echo.
echo ===============================================================================
echo  %watitle%
echo ===============================================================================
echo.
goto :eof

当你运行它时,变量被正确设置和打印(:10)但是我无法“返回”到调用子程序的点并运行以下部分(:20)。

你有一些提示吗?

2 个答案:

答案 0 :(得分:1)

使用Call您还可以发送参数:

@Echo Off
Call :InstallScreen 10
Pause
Call :InstallScreen 20
Pause
Call :InstallScreen 30
Pause
Exit

:InstallScreen
ClS
Title %1
Echo(
Echo ===============================================================================
Echo  %1
Echo ===============================================================================
Echo(
GoTo :EOF

答案 1 :(得分:0)

我道歉, 我刚刚找到了解决方案here

感谢Stephan

@echo off
cls
setlocal enabledelayedexpansion 

:10
set watitle=10
title  %watitle%
call :installscreen
pause

:20
set watitle=20
title  %watitle%
call :installscreen
pause

:30
set watitle=30
title  %watitle%
call :installscreen
pause

exit

:installscreen
echo.
echo ===============================================================================
echo  %watitle%
echo ===============================================================================
echo.
goto :eof