- ベストアンサー
コマンドプロンプトで変数が数字であることを判定する方法
コマンドプロンプトで変数の中身が数字であることを判定することは可能でしょうか。 変数の内容が0000や1020ならばTRUE、00A0なんかだとFALSEに するIF文を作りたいのです。
- みんなの回答 (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)
こういう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 --------------------------------------