批处理:for循环之后的所有内容都不会发生

时间:2016-08-09 05:38:23

标签: batch-file for-loop

for循环之前的一切工作正常,我可以为它添加“暂停”并暂停,但在for循环中它不起作用。我试图添加暂停,但它没有,并且循环后的暂停不会发生。

@echo off
setlocal enabledelayedexpansion

setlocal

for %%g in ( * ) do (
pause

    echo %%g

    set strEnd=___EndOfString___
    set strFilename=%%g
    set strFile=!strFilename!!strEnd!
    echo !strFile!
    pause
    :loop

    set strChar=!strFile:~0,1!
    set strFile=!strFile:~1!
    if !strChar!==a echo A
    pause
    if not !strFile!==!strEnd! goto loop
)

pause
endlocal

1 个答案:

答案 0 :(得分:1)

这个结构应该有效。您可以调整超时持续时间。

@echo off
setlocal enabledelayedexpansion

for %%g in ( * ) do (echo %%g
    set strEnd=___EndOfString___
    set strFilename=%%g
    set strFile=!strFilename!!strEnd!
    echo !strFile!
    timeout 2 >nul
    call :loop
)
pause
exit /b

:loop
:: add more code here
timeout 2 >nul
exit /b

但是,:loop循环中的原始脚本不正确,需要根据批处理目的进行更改。