バッチファイルでフォルダを作成する方法
mkdirコマンドの基本
バッチファイルを使ってフォルダを作成する最も基本的な方法は、mkdir
コマンドを使うことです。
mkdir
は「make directory」の略で、新しいディレクトリ(フォルダ)を作成するために使用します。
以下は、単純なmkdir
コマンドの例です。
mkdir C:\example
このコマンドを実行すると、Cドライブ直下にexample
という名前のフォルダが作成されます。
バッチファイルにmkdir
コマンドを記述することで、自動的にフォルダを作成できるため、手作業を減らし効率化が図れます。
複数のフォルダを一度に作成する方法
mkdir
コマンドを使えば、複数のフォルダを一度に作成することも可能です。
例えば、以下のようにバッチファイルに記述します。
mkdir C:\example\folder1
mkdir C:\example\folder2
mkdir C:\example\folder3
このように書くと、一度のバッチファイル実行でexample
フォルダ内に3つのフォルダが作成されます。
また、以下のようにして、階層構造のフォルダを一気に作成することもできます。
mkdir C:\example\parent\child
このコマンドはparent
フォルダの中にchild
フォルダを作成します。
フォルダ作成の際のエラーハンドリング
フォルダを作成する際に、既に同じ名前のフォルダが存在する場合などにエラーが発生することがあります。
そのため、エラーハンドリングを行うことが重要です。
例えば、以下のようにしてエラーを無視することができます。
mkdir C:\example 2>NUL
このコマンドは、エラーメッセージを表示しないようにします。
さらに、フォルダが存在するかどうかを確認してから作成する方法もあります。
if not exist "C:\example" (
mkdir C:\example
)
この方法で、フォルダが存在しない場合にのみ新しいフォルダを作成することができます。
バッチファイルでフォルダを削除する方法
rmdirコマンドの基本
フォルダを削除するためには、rmdir
(remove directory)コマンドを使用します。
基本的なrmdir
コマンドの使い方は以下の通りです。
rmdir C:\example
このコマンドを実行すると、example
フォルダが削除されます。
注意点として、rmdir
コマンドは空のフォルダしか削除できません。
空でないフォルダを削除する方法
空でないフォルダを削除するには、/s
オプションを使います。
このオプションを指定することで、フォルダ内のすべてのファイルとサブフォルダを含めて削除することができます。
rmdir /s C:\example
さらに、ユーザーに確認を求めずに削除するためには、/q
オプションを追加します。
rmdir /s /q C:\example
このコマンドを実行すると、確認メッセージなしにexample
フォルダとその中身がすべて削除されます。
フォルダ削除の際のエラーハンドリング
フォルダを削除する際にも、エラーハンドリングが重要です。
例えば、フォルダが存在しない場合にエラーが発生することを防ぐために、以下のように記述します。
if exist "C:\example" (
rmdir /s /q C:\example
)
このコマンドは、example
フォルダが存在する場合にのみ削除を行います。
エラーメッセージを抑制する場合は、以下のようにします。
rmdir /s /q C:\example 2>NUL
これで、削除の際にエラーメッセージが表示されなくなります。
バッチファイルでフォルダの存在を確認する方法
if existコマンドの使い方
バッチファイル内でフォルダの存在を確認するためには、if exist
コマンドを使用します。
以下は、フォルダの存在を確認する基本的な例です。
if exist "C:\example" (
echo フォルダが存在します。
) else (
echo フォルダが存在しません。
)
このコマンドは、example
フォルダが存在するかどうかをチェックし、存在する場合は「フォルダが存在します。」と表示し、存在しない場合は「フォルダが存在しません。」と表示します。
フォルダが存在する場合の処理
フォルダが存在する場合に特定の処理を行いたい場合は、以下のように記述します。
if exist "C:\example" (
echo フォルダが存在します。
rem ここに存在する場合の処理を記述
)
例えば、フォルダが存在する場合に、そのフォルダ内のファイルを一覧表示する処理を追加することができます。
if exist "C:\example" (
dir "C:\example"
)
フォルダが存在しない場合の処理
フォルダが存在しない場合に特定の処理を行いたい場合は、else
ブロックを使用します。
if exist "C:\example" (
echo フォルダが存在します。
) else (
echo フォルダが存在しません。
rem ここに存在しない場合の処理を記述
)
例えば、フォルダが存在しない場合に新しいフォルダを作成する処理を追加することができます。
if not exist "C:\example" (
mkdir "C:\example"
)
実践編:バッチファイルを使ったフォルダ管理の具体例
定期的なバックアップフォルダの作成
バッチファイルを使って定期的にバックアップフォルダを作成することができます。
以下は、毎日新しいバックアップフォルダを作成する例です.
@echo off
set date=%date:~0,4%%date:~5,2%%date:~8,2%
mkdir C:\backup\%date%
このスクリプトは、現在の日付を使用してbackup
フォルダ内に新しいフォルダを作成します。
古いフォルダの自動削除
古いバックアップフォルダを自動的に削除するスクリプトも作成できます。
以下は、7日以上前のフォルダを削除する例です。
@echo off
forfiles /p C:\backup /m * /d -7 /c "cmd /c rmdir /s /q @path"
このスクリプトは、backup
フォルダ内の7日以上前のフォルダを削除します。
特定の条件下でのフォルダ管理スクリプト
特定の条件下でフォルダ管理を行うスクリプトを作成することもできます。
例えば、指定されたディスク容量以下になった場合にフォルダを削除するスクリプトです。
@echo off
set drive=C:
set limit=5000000000
for /f "tokens=3" %%a in ('dir %drive% ^| find "bytes free"') do set free=%%a
if %free% LSS %limit% (
rmdir /s /q C:\temp
)
このスクリプトは、指定されたディスクの空き容量が5GB以下の場合にtemp
フォルダを削除します。
このように、バッチファイルを使うことで、フォルダの作成・削除、存在確認、管理などを効率的に自動化できます。