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整除的數字 –