2011年2月5日土曜日

変数 CMDEXTVERSION = コマンド拡張機能のバージョン番号 - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。制御文と環境変数
○Windows XP
コマンド拡張機能のバージョン番号です。

o コマンド拡張機能が有効かどうか判定する時にも、便利です。
o 擬似的な環境変数です。環境変数 CMDEXTVERSION に値が入っていると、その値を表示します。


**** 書式
--------
%cmdextversion%
--------

o 大文字小文字のどちらでも大丈夫です。


**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o (設定なし) = この機能は、ERRORLEVELの値を更新しません。


**** 使用例
--------
echo コマンド拡張機能のバージョン番号は、「%cmdextversion%」です。
--------

o 表示結果は、「コマンド拡張機能のバージョン番号は、「2」です。」のように表示されます。


**** 機能
o コマンド拡張機能のバージョン番号です。
o コマンド拡張機能を無効にすると、この値は未定義状態になります。
o 擬似的な環境変数です。環境変数 CMDEXTVERSION に値が入っていると、その値を表示します。


**** メモ
o この変数は、コマンド拡張機能が有効かどうかの判定する時にも、使用出来ます。
--------
@echo off
set cmdextversion=
if not "%cmdextversion%"=="" echo コマンド拡張機能は有効です。

setlocal disableextensions
if "%cmdextversion%"=="" echo コマンド拡張機能は無効になりました。
endlocal
--------

o 表示結果は、「コマンド拡張機能は有効です。」「コマンド拡張機能は無効になりました。」になります。
o 「@echo off」はお好みで。
o 「set cmdextversion=」は、環境変数 CMDEXTVERSION を強制的に削除しています。
    + 環境変数 CMDEXTVERSION を使用しない事が分かっている場合は、この文は不要です。
    + でも、この例が必要になるような実行環境では、慎重になった方が良いかと思いました。
o この用途の場合、「IF CMDEXTVERSION」は使用出来ません。
    + コマンド拡張機能が無効の時に、文法エラーになるからます。


**** 確認したバージョン
o Windows XP Service Pack 3


==
関連ページ:
    ▼Windowsコマンド。制御文と環境変数▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > 変数 CMDCMDLINE = コマンドプロンプト画面を呼び出した時のコマンド文字列(= コマンドライン)
    環境変数 PATH = 実行可能ファイルを検索する場所
    環境変数 PATHEXT = 実行可能ファイルの拡張子