2011年6月7日火曜日

FCコマンドで、ファイル名のワイルドカードが正しく動かないパターン - Windowsのコマンドプロンプト(bat,cmd)

Windowsコマンド。ファイルとフォルダー関連
○Windows XP
FCコマンドを使っていて、「あれっ、予想と動きが違います。」と思った事がありましたので、メモします。
Windows XP  Service Pack 3(32bit)で確認しました。

o この現象は、FCコマンドCOMPコマンドで起こります。
    + どちらも、2つのファイルの内容を比較するコマンドです。
o ヘルプの説明では、ファイル名の代わりにファイルセットを指定する事も出来ます、との事でした。


**** FCコマンドで、ファイル名のワイルドカードが正しく動かないパターン
o ワイルドカード(「*」や「?」)を、2つのファイル名に同時指定する場合についてです。
o ファイル名の先頭や途中だけにワイルドカードを使用すると、FCコマンドの実行結果が、予想と異なる結果になりました。

o 例えば、bina.txt と binb.txt が存在する場合、次のコマンドは正しく動きません。
--------
fc *a.txt *b.txt
fc b*na.txt b*nb.txt
--------

    + どちらも、FCコマンドは、「最初に指定したファイル」と「最初に指定したファイル(= 同じファイル)」を比較します。
    + その結果、「FC: 相違点は検出されませんでした」のメッセージを出します。

o 成功するのは、次のパターンです。
--------
fc bina.txt binb.txt
fc a*.txt b*.txt
--------

    + 最後のコマンドを使う為には、ファイル名の先頭で区別できるように、ファイル名を付け直す必要があります。


**** 確認したバージョン
o Windows XP Service Pack 3(32bit) + Windows Update 2011年5月版


==
関連ページ:
    ▼Windowsコマンド。ファイルとフォルダー関連▼ABC順
    ▼Windowsコマンド一覧▼ABC順
    ▼コマンドプロンプト画面
    ▼制作メモ
    > CD = 現在居る場所(= カレントディレクトリ)を表示、変更する
    PUSHD = 現在居る場所(= カレントディレクトリ)を保存しつつ変更する
    POPD = 現在居る場所(= カレントディレクトリ)を、PUSHDで保存した場所に戻す
    +
    COMP = ファイルの内容を比較する。最後に質問あり版
    FC = ファイルの内容を比較して、それらの違いを表示する