
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