![見出し画像](https://assets.st-note.com/production/uploads/images/134085980/rectangle_large_type_2_7d4d9a72af2213e3335f6354a55b1cb1.png?width=800)
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に削除したいファイルを入れて実行すると下のようにメッセージが出ますが、ゴミ箱へ移動できています。
![](https://assets.st-note.com/img/1710554812546-pfbK6N4Flj.png?width=800)
ファイルが無い場合はエラーになります。
![](https://assets.st-note.com/img/1710554914186-8KmyafedQs.png?width=800)
他の方法
他にも削除する方法があります
$delFilenameFullpath = "c:\temp\test.pdf"
$shell = New-Object -ComObject Shell.Application
$trash = $shell.NameSpace(10)
$trash.MoveHere($delFilenameFullpath)
ただし、この方法だとメッセージもなにも出ないので、成功失敗が分かりません。
もしかしてゴミ箱からファイルを戻せるのかな? 明日記事にします。
フルパスからファイルとパスを分解する記事はこちら
#PowerShell #コマンドレット #プログラミング初心者 #プログラミング学習 #ファイル操作 #ゴミ箱 #Windows #Shell .Application
この記事が気に入ったらサポートをしてみませんか?