批处理计数器程序关闭

时间:2019-01-03 04:41:10

标签: batch-file

所以我在做一个计数器,我不确定如何使它工作。.现在,我可以通过其他一些功能来实现自定义:

-- | Wai Application Middleware logger
jsonRequestLogger :: IO Middleware
jsonRequestLogger = mkRequestLogger
    $ def { outputFormat = CustomOutputFormatWithDetails dontLogHealthEndpoint }


dontLogHealthEndpoint :: OutputFormatterWithDetails
dontLogHealthEndpoint date req status responseSize duration reqBody response =
    if B.isInfixOf "health" $ rawPathInfo req
        then toLogStr B.empty
        else formatAsJSON date req status responseSize duration reqBody response

,但不幸的是,它无法正常工作。 整个目的是使用暂停set /a current_value=current_value+incremental_value 功能,因此,每当用户按下一个键时,屏幕就会显示一个数字,该数字将增加先前选择的增量值。

这是整个脚本:

>nul

编辑:我已经解决了关机问题,但是当您第一次进入“计数器”屏幕时,该数字没有出现。按下键后,该键将变为零(如果将起始值设置为零),那么如果您继续按该键,它将不会添加增量值。

2 个答案:

答案 0 :(得分:1)

您遇到的一个非常简单的问题是set /p命令的使用不当。使用set /p时,不将字符串指定为set /p %String%=,而是将字符串指定为set /p String=。有关set命令的更多信息,请尝试在命令提示符下键入set /?

另一个问题(不是问题)是您拥有:Incremental_Value:Starter_Value,但是您从未在脚本中allgoto。您唯一正确执行此操作的地方是使用goto Counter。除非稍后再单独goto / call进行操作,否则请删除它们;否则,请执行以下步骤。或使用goto :Starter_Value-排除

将来,请尝试使用echo(而不是echo.来调用窗口中的空白。

Counter.bat

@echo off
title Counter With Incremental Progression

echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º  Set the Starter Value then press Enter  º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo(
set /p starter_value=Value: 

cls
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º  Set the Incremental Value then press Enter  º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo(
set /p incremental_value=Value: 

Set "current_value=%starter_value%"

:Counter
cls
echo Current Number: %current_value%
echo(
pause >nul
set /a "current_value=current_value+incremental_value"
goto Counter

PS::将用于娱乐框的文件编码切换为ANSI-:-)

答案 1 :(得分:0)

好吧,如果您想保留布局:

@echo off && setlocal enableextensions enabledelayedexpansion & cls
title Counter

:_Incremental_Value
cls
echo/
echo//----------------------------------------------\
echo/^|  Set the Incremental Value then press Enter  ^|
echo/\----------------------------------------------/
echo/
set /p _incremental_value= ^|  
if "!_incremental_value!" equ "" goto :_Incremental_Value

:_Starter_Value
cls
echo/
echo//------------------------------------------\
echo/^|  Set the Starter Value then press Enter  ^|
echo/\------------------------------------------/
echo/
set /p _starter_value= ^|  
if "!_starter_value!" equ "" goto :_Starter_Value
set /a _current_value=!_starter_value!

goto :_Counter

:_Counter
cls
echo/
echo//-------------------\
echo/^|        !_current_value!        ^|
echo/\-------------------/
echo/
call pause >nul
set /a _current_value=!_current_value! + !_incremental_value!
title Counter: !_current_value!
goto :_Counter