PowerShellでファイル/フォルダを削除したいときはないでしょうか。
けど、そんな中で悩むことは、
・PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除したいが方法がよくわからない
ですよね。
今回はそんなお悩みを解決する
・PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除する方法
についてまとめます!
もくじ
PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除するイメージ
PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除するイメージについて説明をします。
Excel側のセルに削除したいファイル/フォルダのパスを記載します。
別のセルに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コードおよび実装方法については以下の記事を参考に準備をお願いします。
次に1シート目のB1セルをコマンド入力用、B2セルを上記2つのメソッド切り替え用として用意しましょう。
コマンドの実行結果はB4セルに表示される形になります。
ボタンはPowerShellコマンド実行用のボタンです。
削除をしたいファイルを作成する
削除をしたいファイルを作成しましょう。
今回は複数ファイルを一度に処理するので、複数個用意してください。
Excelにパスとフォルダ名一覧を削除する
Excelに削除をしたいファイルのパス一覧を入力しましょう。
コマンドをセルに入力する
ファイル/フォルダを削除するPowerShellコマンドをフォルダ名がある両サイドのセルに入力します。
「Remove-item 」
「' -Recurse;」
コマンドとフォルダ名の文字列を結合する
続いてコマンドとパスの文字列を結合するCONCAT関数をB1セルに入力します。
=CONCAT(F1:H3)
コマンドを実行する
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
実行しましょう。
はい、サブフォルダとファイルがまとめて削除されましたね!
さいごに
いかがでしょうか。
今回は、
・PowerShellでExcelにまとめたデータからファイル/フォルダを一括で削除する方法
についてまとめました。
また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。
コメントを残す