見出し画像

PowerShell ゴミ箱へファイルを捨てる

PowerShellでファイルを削除するにはRemove-Itemを使いますが、これではゴミ箱に残りません。削除でなくゴミ箱に入れたい場合は次のようにします。


$delFilenameFullpath = "c:\temp\test.pdf"

$delFilepath = Split-Path $delFilenameFullpath -Parent
$delFilename = Split-Path $delFilenameFullpath -Leaf
$shell = new-object -comobject Shell.Application
$shell.Namespace($delFilepath).ParseName($delFilename).InvokeVerb("delete")


変数$delFilenameFullpathに削除したいファイルを入れて実行すると下のようにメッセージが出ますが、ゴミ箱へ移動できています。

ファイルが無い場合はエラーになります。


他の方法

他にも削除する方法があります

$delFilenameFullpath = "c:\temp\test.pdf"

$shell = New-Object -ComObject Shell.Application
$trash = $shell.NameSpace(10)
$trash.MoveHere($delFilenameFullpath)

ただし、この方法だとメッセージもなにも出ないので、成功失敗が分かりません。

もしかしてゴミ箱からファイルを戻せるのかな? 明日記事にします。


フルパスからファイルとパスを分解する記事はこちら


#PowerShell #コマンドレット #プログラミング初心者 #プログラミング学習 #ファイル操作 #ゴミ箱 #Windows #Shell .Application


この記事が気に入ったらサポートをしてみませんか?