Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理计数器程序关闭_Batch File - Fatal编程技术网

Batch file 批处理计数器程序关闭

Batch file 批处理计数器程序关闭,batch-file,Batch File,所以我正在做一个计数器,我不知道如何使它工作。。我现在有一些其他的定制功能: set /a current_value=current_value+incremental_value 但不幸的是,它不起作用。。 其全部目的是使用pause>nul功能,因此当用户按下某个键时,屏幕将显示一个数字,该数字将按先前选择的增量值向上移动 以下是整个脚本: @echo off cls title Counter :Incremental_Value cls echo./----------------

所以我正在做一个计数器,我不知道如何使它工作。。我现在有一些其他的定制功能:

set /a current_value=current_value+incremental_value
但不幸的是,它不起作用。。 其全部目的是使用pause
>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

编辑:我修复了关机问题,但是当你第一次进入计数器屏幕时,数字没有出现。一旦你按下一个键,它就会变成零(如果你将起始值设置为零),如果你继续按键,它就不会增加增量值。

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

另一个问题是,您有
:Incremental\u Value
&
:Starter\u Value
,但您从来没有在脚本中对它们执行c
全部
转到
操作。只有在
转到计数器
的情况下才能正确地执行此操作。除非你以后要单独
转到
/
调用
它们,否则只需删除它们;或者使用
goto:Starter\u值
-exc

以后,尝试使用
echo(
而不是
echo.
调用窗口中的空白

计数器.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
用于娱乐盒-
:-)

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

另一个问题是,您有
:Incremental\u Value
&
:Starter\u Value
,但您从来没有在脚本中对它们执行c
全部
转到
操作。只有在
转到计数器
的情况下才能正确地执行此操作。除非你以后要单独
转到
/
调用
它们,否则只需删除它们;或者使用
goto:Starter\u值
-exc

以后,尝试使用
echo(
而不是
echo.
调用窗口中的空白

计数器.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以获得娱乐盒-
:-)

您可以发布脚本吗?这里没有可供使用的资源。我建议尝试将集合放在引号内,例如:
set/a“current\u value=current\u value+incrimental\u value”
它仍然会关闭,之后我将继续并输入脚本,我打赌命令工作正常(尽管ii可能更短:
set/a current\u value+=incremental\u value
),很可能您正试图在代码块中使用该新值,而不使用延迟扩展。所以,请展示更多的上下文来证明这一点。我也尝试了你的较短方法,它做了与我在编辑中解释的相同的事情。你能发布脚本吗?这里没有可供使用的资源。我建议尝试将集合放在引号内,例如:
set/a“current\u value=current\u value+incrimental\u value”
它仍然会关闭,之后我将继续并输入脚本,我打赌命令工作正常(尽管ii可能更短:
set/a current\u value+=incremental\u value
),很可能您正试图在代码块中使用该新值,而不使用延迟扩展。因此,请展示更多的上下文来证明这一点。我也尝试了你的较短方法,它做了与我在编辑中解释的相同的事情。请注意,你必须在
set/a
中引用整个变量集。另外,请注意,批处理文件中有
+=
-=
,e.t.c.运算符。请检查
set/?
@double-beep您刚才重复了我最初告诉OP的内容。我承认我很懒,没有在脚本中执行此操作-但是,对于整数,它是不需要的,而且非常好。对于
+=
操作符,我的替代方案非常好,对脚本功能具有同等的影响。然而,为了安抚您,我引用了我的
set
命令。谢谢你的指点我知道。。。这也发生在我身上。请注意,您必须在
set/a
中引用整个变量集。另外,请注意,批处理文件中有
+=
-=
,e.t.c.运算符。请检查
set/?
@double-beep您刚才重复了我最初告诉OP的内容。我承认我很懒,没有在脚本中执行此操作-但是,对于整数,它是不需要的,而且非常好。对于
+=
操作符,我的替代方案非常好,对脚本功能具有同等的影响。然而,为了安抚您,我引用了我的
set
命令。谢谢你的指点我知道。。。这也发生在我身上。