1
@ECHO OFF
:Loop
IF "%1"=="" GOTO completed
FOR %%F IN (%1) DO IF "%%F"%3==0 echo %%F
SHIFT
GOTO Loop
:completed
我编写了这个代码,用于在Windows中使用批处理脚本检查数组中的数据。 运行在CMD此bat文件作为在蝙蝠脚本参数中找到模
但由3整除的值未显示
@ECHO OFF
:Loop
IF "%1"=="" GOTO completed
FOR %%F IN (%1) DO IF "%%F"%3==0 echo %%F
SHIFT
GOTO Loop
:completed
我编写了这个代码,用于在Windows中使用批处理脚本检查数组中的数据。 运行在CMD此bat文件作为在蝙蝠脚本参数中找到模
但由3整除的值未显示
你有一对夫妇的问题。首先,您不需要同时使用for
循环和goto
循环来遍历脚本参数。选一个。接下来,if
语句不能执行数学运算。他们不能计算模数。您必须使用set /a
来计算模数(num%3)。
下面是一个工作示例。
@ECHO OFF
setlocal enabledelayedexpansion
for %%I in (%*) do (
set /a mod = %%I %% 3
if !mod! equ 0 echo %%I
)
您当前'For'循环代码这样做,'IF “1” 3 == 0回声1'。模操作字符是百分比,这意味着在批处理文件中它必须加倍。也就是说,该操作只是一个算术表达式,作为''Set'命令的一部分,并且'/ A'选项没有使用'Set'来为您进行算术计算。 – Compo
其实我想写一个读取10个整数的程序,然后打印所有可以被3整除的数字 –