• ベストアンサー

コマンドプロンプトで変数が数字であることを判定する方法

コマンドプロンプトで変数の中身が数字であることを判定することは可能でしょうか。 変数の内容が0000や1020ならばTRUE、00A0なんかだとFALSEに するIF文を作りたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.2

Xに入っているとして、数字を削除しt空になれば元が数字だけだったと言うことで、 set W=%X:0=% set W=%W:1=% set W=%W:2=% set W=%W:3=% set W=%W:4=% set W=%W:5=% set W=%W:6=% set W=%W:7=% set W=%W:8=% set W=%W:9=% if "%W%"=="" echo Xの中身は数字だけだった

その他の回答 (1)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

こういうBATファイルを作るとか・・・ -------------------------------------- @ECHO OFF Call :CHECK Call :CHECK 0000 Call :CHECK 1020 Call :CHECK 00A0 GOTO :EOF :CHECK IF "%1%"=="" ( ECHO "%1" は 空 GOTO :EOF ) SET DATA=%1 :LOOP IF "%DATA%"=="" ( ECHO "%1" は TRUE GOTO :EOF ) SET CHK=%DATA:~0,1% SET DATA=%DATA:~1% IF "%CHK%"=="0" GOTO :LOOP IF "%CHK%"=="1" GOTO :LOOP IF "%CHK%"=="2" GOTO :LOOP IF "%CHK%"=="3" GOTO :LOOP IF "%CHK%"=="4" GOTO :LOOP IF "%CHK%"=="5" GOTO :LOOP IF "%CHK%"=="6" GOTO :LOOP IF "%CHK%"=="7" GOTO :LOOP IF "%CHK%"=="8" GOTO :LOOP IF "%CHK%"=="9" GOTO :LOOP ECHO "%1" は FALSE :EOF --------------------------------------

関連するQ&A

専門家に質問してみよう