MENU

バッチファイルでフォルダを作成・削除する方法

目次

バッチファイルでフォルダを作成する方法

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フォルダを削除します。

このように、バッチファイルを使うことで、フォルダの作成・削除、存在確認、管理などを効率的に自動化できます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次