PowerShellでファイル/フォルダを削除する方法!Excelから一括処理!

PowerShellでファイル/フォルダを削除する方法!Excelから一括処理!

PowerShellでファイル/フォルダを削除したいときはないでしょうか。

けど、そんな中で悩むことは、

・PowerShellでファイル/フォルダを削除したいが方法がよくわからない
・PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除したいが方法がよくわからない

ですよね。

今回はそんなお悩みを解決する

・PowerShellでファイル/フォルダを削除する方法
・PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除する方法

についてまとめます!

PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除するイメージ

PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除するイメージについて説明をします。

Excel側のセルに削除したいファイル/フォルダのパスを記載します。

別のセルにPowerShellコマンドとファイル/フォルダのパスをくっつけた内容を表示させます。

実行すると、PowerShellコマンドが実行され、ファイル/フォルダが削除されていきます!

タカヒロ
タカヒロ
PowerShellウインドを立ち上げることなくボタンワンぽちでフォルダが一括作成できますので、便利ですね!

それでは早速試してみましょう。

PowerShellでファイル/フォルダを削除する方法

PowerShellでファイル/フォルダを削除する方法について説明をします。

Remove-itemコマンドでファイル/フォルダを削除する

PowerShellのRemove-itemコマンドでファイル/フォルダを削除することができます。

構文

Remove-itemはPowerShellでアイテム(フォルダやファイル)を削除するコマンドで、ファイル/フォルダを削除する場合は以下の構文となります。

Remove-item <パス>

パスを指定するとそのパスに沿ってファイル/フォルダを削除することができます。

例えば以下のようにフォルダがあり、それを消す場合は、

消したいパスを入力し、コマンドを実行すると、

Remove-item D:\test\フォルダ作成\test1 -Recurse

フォルダを消すことができます。

オプション

Remove-itemで指定できるオプションは以下の通りです。

オプション 説明
-Recurse 確認せずにフォルダとファイルを削除します。
-Force 隠しファイルや読み取り専用ファイルも強制的に削除します。

PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除する方法

今回のメインとなるPowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除する方法について説明をします。

PowerShell実行用のExcelブックを用意する

PowerShell実行用のExcelブックを用意しましょう。VBAを実装するので、マクロ有効形式のxlsmで保存してください。

VBAコードおよび実装方法については以下の記事を参考に準備をお願いします。

Excel VBAでPowerShellを実行する方法2選!処理結果取得も!

タカヒロ
タカヒロ
だいたい5分~10分で準備ができます。追加インストールは不要です。

次に1シート目のB1セルをコマンド入力用、B2セルを上記2つのメソッド切り替え用として用意しましょう。

コマンドの実行結果はB4セルに表示される形になります。

ボタンはPowerShellコマンド実行用のボタンです。

削除をしたいファイルを作成する

削除をしたいファイルを作成しましょう。

今回は複数ファイルを一度に処理するので、複数個用意してください。

Excelにパスとフォルダ名一覧を削除する

Excelに削除をしたいファイルのパス一覧を入力しましょう。

コマンドをセルに入力する

ファイル/フォルダを削除するPowerShellコマンドをフォルダ名がある両サイドのセルに入力します。

「Remove-item 」
「' -Recurse;」


タカヒロ
タカヒロ
計算式誤認識回避の文頭の「’」の入力、前後の半角スペース、末尾の「;」を入力するようにしてください。

コマンドとフォルダ名の文字列を結合する

続いてコマンドとパスの文字列を結合するCONCAT関数をB1セルに入力します。

=CONCAT(F1:H3)

タカヒロ
タカヒロ
CONCAT関数の引数にある範囲は数に応じて変更してください。

コマンドを実行する

B1セルに先ほどのサンプルコマンドを入力し、B2セルにRunメソッド実行版である0を指定します。

ボタンを押してコマンドを実行してみましょう。

B5に成功を意味する0が入りましたね。

ファイルが削除されているか見てみましょう。

はい!Excelリスト分のファイルが削除されていますね!

For文で連続処理をする方法

For文の連続処理でファイル/フォルダを削除する方法について説明をします。

サンプルコマンド

コマンドは以下の通りです。

$strPath='D:\test\ファイル削除\ファイル***.xlsx'

for( $i = 1; $i -le 3; $i++)
{
Remove-item $strPath.Replace(‘***’, $i) -Recurse
}

ボタンを押してコマンドを実行してみましょう。

はい!同じファイル/フォルダが削除されていますね!

コマンドの説明

パスとファイル名の数値部分を「***」に置き換え変数に代入します。

$strPath='D:\test\ファイル削除\ファイル***.xlsx'

変数iが3になるまで繰り返します。

for( $i = 1; $i -le 5; $i++)

変数$strPath内の文字列***を$iに置換し、フルパスを作成。それをもとにファイルを削除します。

Remove-item $strPath.Replace('***', $i) -Recurse

サブフォルダ内のファイルも含めて削除する

次はサブフォルダ内のファイルも含めて削除してみましょう。

サブフォルダとファイルを用意する

サブフォルダとファイルを用意します。

サンプルコマンド

コマンドは以下の通りです。

Remove-item D:\test\ファイル削除\サブフォルダ -Recurse

実行しましょう。

はい、サブフォルダとファイルがまとめて削除されましたね!

タカヒロ
タカヒロ
「-Recurse」を付けないで実行した場合は以下のように確認メッセージが表示されます。

 

さいごに

いかがでしょうか。

今回は、

・PowerShellでファイル/フォルダを削除する方法
・PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除する方法

についてまとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA ImageChange Image