🔖
PowerShellで長いパスを持つファイルやディレクトリを削除する方法
Windows環境で長いパスやファイル名を持つディレクトリを削除する際、標準のRemove-Item
コマンドでは削除できない場合があります。このような場合には、cmd
コマンドを使用してPowerShellの制限を回避する方法が有効です。この記事では、その方法について詳しく解説します。
目次
- 背景と問題点
- cmdコマンドを使用した削除方法
- 手順詳細
- 他の削除方法
- まとめ
1. 背景と問題点
Windowsファイルシステムには、ファイルパスが260文字を超えるとエラーが発生するという制限があります。特にNode.jsプロジェクトでは、node_modules
ディレクトリに大量のファイルとフォルダがネストされるため、削除が困難になることがあります。この制限を回避するためには、標準のPowerShellコマンド以外の方法を用いる必要があります。
2. cmdコマンドを使用した削除方法
この問題を解決するために、cmd
コマンドを使用することができます。cmd
のrd
(remove directory)コマンドは、PowerShellのRemove-Item
コマンドと異なり、長いパスに対しても有効に機能します。
3. 手順詳細
以下の手順で、長いパスを持つディレクトリを削除する方法を紹介します。
ステップ1: PowerShellを(管理者)として開く。Cmdでも可
- スタートメニューを開きます。
- PowerShellを検索します。
- 検索結果からWindows PowerShellを右クリックし、管理者として実行を選択します。
ステップ2: cmdコマンドを使用してディレクトリを削除
PowerShellの管理者権限ウィンドウで以下のコマンドを入力します。ここでは、例としてC:\work\fund-property-mgmt-frontend\node_modules
ディレクトリを削除します。
cmd /c "rd /s /q C:\work\fund-property-mgmt-frontend\node_modules"
-
cmd /c
:cmd
コマンドを実行し、その後に続くコマンドを実行します。 -
rd
: ディレクトリを削除します。 -
/s
: 指定したディレクトリとそのサブディレクトリをすべて削除します。 -
/q
: 確認のプロンプトを表示せずに削除を実行します。
5. まとめ
長いパスを持つファイルやディレクトリを削除する際には、PowerShellの標準コマンドでは削除できないことがあります。その場合、cmd
のrd
コマンドを使用する方法が有効です。この記事で紹介した方法を参考にして、問題を解決してください。
Discussion