1

ユーザーが数値のみを入力する必要がある値を入力するときに検証を行う必要がありますが、ユーザーは以下の形式で値を入力します

Echo Build Number in the Format 5.1.2.44
set /p Build="enter Build Number Please : "

値を 5.1.2.3 に入れる場合は、それが数値であることを識別する必要があります。 (ドット)?/.,の代わりに、値の間に 任意の文字を使用できます。.

有効な例は次のとおりです。5.1.2.3

無効な例は次のとおりです。5.2.A.3

4

1 に答える 1

1

区切り文字間の各値が数値であることを確認する方法の例を次に示します。

@echo off
set "xResult=valid"
for /f "tokens=1,2,3,4 delims=?/.," %%A in ("%Build%") do (
    for /f "tokens=1 delims=1234567890" %%n in ("%%A") do set "xResult=invalid"
    for /f "tokens=1 delims=1234567890" %%n in ("%%B") do set "xResult=invalid"
    for /f "tokens=1 delims=1234567890" %%n in ("%%C") do set "xResult=invalid"
    for /f "tokens=1 delims=1234567890" %%n in ("%%D") do set "xResult=invalid"
)
echo %xResult%

これは、最初にビルド文字列をA-D区切り文字()によって4つの別々の値()に解析し?/.,、それらの値のそれぞれが数値()のみで構成されているかどうかを確認することで機能します0-9

于 2013-02-26T16:03:39.643 に答える