Выключение программы счетчика партий - PullRequest
0 голосов
/ 03 января 2019

Итак, я делаю счетчик, и я не уверен, как заставить его работать .. У меня есть это сейчас с некоторыми другими функциями для настройки:

set /a current_value=current_value+incremental_value

, но, к сожалению, он не работает.Вся цель состоит в том, чтобы использовать функцию паузы >nul, поэтому, когда пользователь нажимает клавишу, на экране будет отображаться число, увеличивающееся на инкрементное значение, выбранное ранее.

Это весь сценарий:

@echo off
cls
title Counter

:Incremental_Value
cls
echo./----------------------------------------------\
echo.I  Set the Incremental Value then press Enter  I
echo.\----------------------------------------------/
echo.
set /p %incremental_value%= [

:Starter_Value
cls
set current_value=%starter_value%
echo./------------------------------------------\
echo.I  Set the Starter Value then press Enter  I
echo.\------------------------------------------/
echo.
set /p %starter_value%= [
goto Counter

:Counter
cls
echo./-------------------\
echo.I        %current_value%        I
echo.\-------------------/
echo.
pause >nul
set /a current_value=current_value+incremental_value
goto Counter

Редактировать: я исправил проблему с выключением, но при первом появлении на экране счетчика число не появляется.Как только вы нажмете клавишу, она станет равной нулю (если вы установили начальное значение на ноль), тогда она не добавит добавочное значение, если вы продолжите нажимать клавишу.

1 Ответ

0 голосов
/ 03 января 2019

Очень простой проблемой было неправильное использование команды set /p.При использовании set /p вы не указываете строку как set /p %String%=, а скорее set /p String=.Для получения дополнительной информации о команде set попробуйте ввести set /? в командной строке.

Другая проблема, не проблема в том, что у вас есть :Incremental_Value & :Starter_Value, но вы никогда не c all или gotoих в сценарии.Единственное место, где вы правильно сделали это, было с 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 для забавных ящиков - :-)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...