Categories: Windows

バッチファイルで特定のファイルやフォルダの存在を確認するexistコマンド

この記事では、Windowsのバッチファイルの中で、特定のファイルやフォルダの存在有無を確認する方法について紹介します。

例えば、バッチファイルの実行時に特定のファイルが無い場合のみ、ファイルを作る等の処理を実現することができます。

特定のファイルやフォルダが存在するときに処理を実行するコマンド

以下の文法で、特定のファイルやフォルダが存在する場合に、括弧内の処理を実行することができます。

if exist [ファイル/フォルダ名] (
 [処理内容]
)

例えば、以下のように記述することで「test.txt」というファイルがある場合に消去(del)することができます。

if exist test.txt (
    del test.txt
) 

特定のファイルやフォルダが存在しないときに処理を実行するコマンド

逆に、特定のファイルやフォルダが存在しないときに、処理を実行するコマンドは以下となります。existの前にnotを付けることで、ファイルが無いことを確認できるようになります。

if not exist test.txt [ファイル/フォルダ名] (
 [処理内容]
)

test.txtが存在しない場合に、空のtest.txtを作成するサンプルバッチが以下となります。

if not exist test.txt (
    type nul > test.txt
)

ファイルの存在有無に応じて処理を分ける例

以下のようにif/else文を用いた条件分岐を用いることで「test.txt」の存在有無に応じて処理を分けることも可能となります。

if exist test.txt (
    echo test.txtが存在します
) else (
    echo test.txtが存在しません
)
Haruoka