コマンドラインとPowerShellでのディレクトリ削除方法の違い
Windows環境でのディレクトリ削除には、コマンドプロンプト(cmd.exe)とPowerShellの2つの方法があります。 それぞれの特徴と使い分けについて解説します。
1. コマンドプロンプト(cmd.exe)での削除方法
コマンドプロンプトでは、以下のコマンドを使用します:
空のディレクトリを削除
rmdir ディレクトリ名 または rd ディレクトリ名
ディレクトリと中身を再帰的に削除(確認あり)
rmdir /s ディレクトリ名 または rd /s ディレクトリ名
ディレクトリと中身を再帰的に削除(確認なし)
rmdir /s /q ディレクトリ名 または rd /s /q ディレクトリ名
2. PowerShellでの削除方法
PowerShellでは、以下のコマンドを使用します:
ディレクトリと中身を再帰的に削除
Remove-Item -Path ディレクトリ名 -Recurse -Force または短縮形: rm -r -Force ディレクトリ名
3. 主な違いと特徴
- コマンドプロンプト(cmd.exe)
- シンプルな構文
- Windowsの標準的なコマンド
- オプションはスラッシュ(/)で指定
- PowerShell
- より強力な機能と柔軟性
- オブジェクト指向のアプローチ
- オプションはハイフン(-)で指定
- パイプライン処理が可能
4. 使用例と注意点
隠しディレクトリの削除
コマンドプロンプト:
rmdir /s /q .git
PowerShell:
Remove-Item -Path .git -Recurse -Force
注意点
- 削除したファイルはゴミ箱に入らず、完全に削除されます
- 重要なファイルを誤って削除しないよう注意が必要です
- 特にPowerShellの-Forceオプションは慎重に使用してください
- 現在のディレクトリや親ディレクトリは削除できません
5. ベストプラクティス
- 削除前に、そのディレクトリが本当に不要か確認する
- 重要なファイルは事前にバックアップを取る
- チーム開発では、削除前に他のメンバーに確認する
- PowerShellを使用する場合は、-WhatIfオプションで事前確認する
参考文献
- Remove-Item (Microsoft.PowerShell.Management) - Microsoft Docs
- rd | Microsoft Docs