0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

◇Windowsのバッチファイルで入力された値が数値か確認する

Last updated at Posted at 2022-07-23

◇入力された値が数値か確認する

サンプルのみ掲載します。

入力された値が数値か確認するサンプル
NumCheck.bat
@echo off


:: 遅延展開宣言 バグの原因になる場合があります;
setlocal enabledelayedexpansion


:: 入力されたものが指定された範囲の数値かチェックする;
:InputNumeric
set NumMin=10
set NumMax=100
echo 数値を%NumMin%%NumMax%の範囲で入力してください。
set /p Num=">"
:: 数値チェック;
call :IsInteger %%Num%%
if %ERRORLEVEL% neq 0 (
  echo 数値以外が含まれています。
  goto :InputNumeric
)
:: 指定サイズチェック; ifを重ねて AND を判定をしています。;
if %Num% geq %NumMin% if %Num% leq %NumMax% goto :InputNumericEnd
echo 入力する数値が指定可能な範囲外です。
echo.
goto :InputNumeric
:InputNumericEnd
echo.
echo 入力された数値は [%Num%] でした。


:: 終了処理(エクスプローラーから起動されていた場合はPauseする);
:EndProcess
echo %cmdcmdline% | find /i "%~f0">NUL
if %ERRORLEVEL% equ 0 Pause
goto :end


:: 変数が数値かチェック;
:IsInteger
set X=%1
if "%X%" equ "" exit /b -1
if defined X set X=%X:0=%
if defined X set X=%X:1=%
if defined X set X=%X:2=%
if defined X set X=%X:3=%
if defined X set X=%X:4=%
if defined X set X=%X:5=%
if defined X set X=%X:6=%
if defined X set X=%X:7=%
if defined X set X=%X:8=%
if defined X set X=%X:9=%
if not defined X exit /b 0
exit /b -1

おわりに

他にも「⧉Windowsのバッチファイルのテクニックをご紹介します」にてご紹介させて頂いております。
お時間ありましたら覗いてみてください
お粗末様でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?