Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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_Cmd - Fatal编程技术网

Batch file 使用批处理脚本打印较大的数字

Batch file 使用批处理脚本打印较大的数字,batch-file,cmd,Batch File,Cmd,当我在批处理脚本中打印这些数字时,它们显示的是除这些数字以外的一些值,如何在windows中打印这些值 对于(18172900001118172900012)中的/L%%n,执行echo%%n这称为整数溢出。批处理只能处理小于或等于2^31-1=2147483647的数字,因为它只能处理32位整数 你问题的答案是:这是不可能的 但是,如果只是打印,则没有问题: ECHO 181729000010 很好用。这是因为在本例中,它作为字符串而不是数字处理。但只要你尝试用大于2147483647的数字

当我在批处理脚本中打印这些数字时,它们显示的是除这些数字以外的一些值,如何在windows中打印这些值


对于(18172900001118172900012)中的/L%%n,执行echo%%n

这称为整数溢出。批处理只能处理小于或等于2^31-1=2147483647的数字,因为它只能处理32位整数

你问题的答案是:这是不可能的

但是,如果只是打印,则没有问题:

ECHO 181729000010
很好用。这是因为在本例中,它作为字符串而不是数字处理。但只要你尝试用大于2147483647的数字进行计算,你就会失败


(18172900001118172900012)中/L%%n的代码
对181729000011到181729000012之间的数字进行echo%%n
迭代,这意味着每次迭代都会在索引中添加1,从
181729000011+1开始,这是一种计算这称为整数溢出。批处理只能处理小于或等于2^31-1=2147483647的数字,因为它只能处理32位整数

你问题的答案是:这是不可能的

但是,如果只是打印,则没有问题:

ECHO 181729000010
很好用。这是因为在本例中,它作为字符串而不是数字处理。但只要你尝试用大于2147483647的数字进行计算,你就会失败


(18172900001118172900012)中的/L%%n的代码
do echo%%n
迭代从181729000011到181729000012的数字,这意味着在每次迭代中,从
181729000011+1开始,它在索引中添加1,这是一个计算就您的问题示例而言,只需将命令更改为:

对于(29000010,129000012)中的/L%%A,请执行回波1817%%A

对于问题示例,只需将命令更改为:

对于(29000010,129000012)中的/L%%A,请执行回波1817%%A
你应该很乐意按照你的要求去做

如果您向我们展示您的实际问题,我们可能会提出解决方案。您似乎要求我们解决未知问题的解决方案

你应该很乐意按照你的要求去做


如果您向我们展示您的实际问题,我们可能会提出解决方案。您似乎要求我们解决未知问题。

我知道您已经有了解决方案。这是一个与数字有关的例子

FOR /F %%i IN (
    'powershell.exe -NoProfile -Command ^
        "for ($i=181729000010; $i -le 181729000012; $i++) { $i }"'
) DO (ECHO %%i)

请注意,PowerShell Range操作符
仅限于[int32]大小的数字。

我知道您已经有了解决方案。这是一个与数字有关的例子

FOR /F %%i IN (
    'powershell.exe -NoProfile -Command ^
        "for ($i=181729000010; $i -le 181729000012; $i++) { $i }"'
) DO (ECHO %%i)

请注意,PowerShell范围运算符
仅限于[int32]大小的数字。

因此windows机器无法像在Linux中那样计算和处理64位的长整数!!!windows机器可以,
cmd.exe
不能。因此windows机器不能像在Linux中那样计算和处理64位的长整数!!!windows计算机可以,
cmd.exe
cannot.Snap!52秒前!我想(0,1,2)Do Echo 18172900001%%A中的/L%%A的
应该会更整洁一些。快点!52秒前!我想(0,1,2)Do Echo 18172900001%%A中的/L%%A的
应该更整洁一些。