PowerShellでファイルやフォルダをごみ箱に移動する方法 †ファイルまたはフォルダを指定してごみ箱に移動するサンプルスクリプトを公開します。 使用上の注意 当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。 参考資料 †本資料で使用したWindowsおよびPowerShellのバージョン †PS C:\> [System.Environment]::OSVersion | Format-List Platform : Win32NT ServicePack : Version : 10.0.17134.0 VersionString : Microsoft Windows NT 10.0.17134.0 PS C:\> $PSVersionTable Name Value ---- ----- PSVersion 5.1.17134.228 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.17134.228 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 サンプルスクリプト †以下のサンプルスクリプトは2つのファンクションを記述してあります。
ToRecycle.zip : (SJIS, CRLF) Add-Type -AssemblyName Microsoft.VisualBasic # フォルダをゴミ箱に移動する function Folder-ToRecycleBin($target_dir_path) { if ((Test-Path $target_dir_path) -And ((Test-Path -PathType Container (Get-Item $target_dir_path)))) { $fullpath = (Get-Item $target_dir_path).FullName [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteDirectory($fullpath,'OnlyErrorDialogs','SendToRecycleBin') } else { Write-Output "'$target_dir_path' is not directory or not found." } } # ファイルをゴミ箱に移動する function File-ToRecycleBin($target_file_path) { if ((Test-Path $target_file_path) -And ((Test-Path -PathType Leaf (Get-Item $target_file_path)))) { $fullpath = (Get-Item $target_file_path).FullName [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile($fullpath,'OnlyErrorDialogs','SendToRecycleBin') } else { Write-Output "'$target_file_path' is not file or not found." } } 使用方法 †以下、実際に上記スクリプトを使用してみます。
以上のように、ファイルおよびフォルダがごみ箱に移動されています。 Aliasを使って便利に使う †上記の2つのファンクションをAliasとして設定すれば、便利に使えるかもしれません。 Remove-Item Alias:del Set-Alias -name del -value File-ToRecycleBin Remove-Item Alias:rmdir Set-Alias -name rmdir -value Folder-ToRecycleBin 上記のエイリアス設定により、del, rmdirでファイルを指定すると、ごみ箱に移動されます。 以上、PowerShellでファイルおよびフォルダをゴミ箱に移動するサンプルスクリプトでした。 |