【发布时间】:2017-02-10 14:08:06
【问题描述】:
我今年夏天拍了一部电影,为了让工作更轻松,我没有做特效,而是构建了一个批处理程序。 当我运行第一个文件(1.bat)时,它会运行,然后启动另一个(2.bat)(显示加载栏)和另一个(3.bat)(显示文本列表) 问题是出现文本的窗口打开得很好,但是文本不滚动,但是当它完全自己运行时,它可以工作。
提前感谢您的帮助
这是代码:
1.bat
@echo off
title [Launch Program]
cls
:var1
set /A k=%k%+1
if %k%==70 cls & echo Démarge en cours.
if %k%==140 cls & echo Démarge en cours..
if %k%==210 cls & echo Démarge en cours...
if %k%==280 cls & echo Démarge en cours.
if %k%==350 cls & echo Démarge en cours..
if %k%==420 cls & echo Démarge en cours...
if %k%==490 cls & echo Démarge en cours.
if %k%==560 cls & echo Démarge en cours..
if %k%==630 cls & echo Démarge en cours...
if %k%==700 cls & echo Démarge en cours.
if %k%==770 cls & echo Démarge en cours..
if %k%==840 cls & echo Démarge en cours...
if %k%==910 cls & echo Démarge en cours.
if %k%==980 cls & echo Démarge en cours..
if %k%==1050 cls & echo Démarge en cours...
if %k%==1120 start 2.bat
GOTO var1
2.bat(加载条)
echo off
start 3.bat
color a
mode 103,5
set counter=0
set counterb=000
set core=±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
set "valuecore= "
setLocal EnableDelayedExpansion
:start
cls
echo.ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo.³%valuecore:~0,100%³
echo.ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
if %counter% GEQ 100 set msg=complete& set counterb=10000& goto exit
echo. %counterb:~0,-2%%%
set /a counter=counter+1
set /a counterb=counterb+100
set "valuecore=!core:~0,%counter%! "
set delay=0
:delay
if %delay%==125 goto start
set /a delay=delay+1
goto delay
:exit
echo. %counterb:~0,-2%%% %msg%
ENDLOCAL
exit
3.bat
@echo off
cls
title [Chargement des modules]
:var1
set /A k=%k%+1
if %k%==20 echo Application........................0x9se5785
if %k%==40 echo Application........................0x9865785
if %k%==60 echo Application........................0x986hfgf
if %k%==80 echo Application........................0x91gf4gd
if %k%==100 echo Application........................0xa865785
if %k%==120 echo Application........................0x9800785
if %k%==140 echo Application........................0xk865gj7
if %k%==160 echo Application........................0x7865hgf
if %k%==180 echo Application........................0x9865785
if %k%==200 echo Application........................0xROZ5ng8
if %k%==220 echo Application........................0x986fgj7
if %k%==240 echo Application........................0x9865gnf
if %k%==260 echo Application........................0x9865785
if %k%==280 echo Application........................0x98KE785
if %k%==300 echo Application........................0x110cdf0
GOTO var1
【问题讨论】:
-
您是否直接尝试
3.bat?那么k可能有一个不应该有的值(即大于 300)。在3.bat的开头添加set "k="。您还应该实现一种退出无限循环的方法(例如if %k% lss 301 goto :var1)。
标签: windows batch-file cmd