You can cycle through all items in recycle bin, but they do not contain property "Content type".
$web = Get-SPWeb "https://contoso.com"
foreach($item in $web.RecycleBin)
{
# delete based on directory
if($item.DirName -like "AwesomeFolder/*")
{
$item.Delete();
}
}
$web.Dispose();
Write-Host "End" -BackgroundColor DarkGreen -ForegroundColor Green
# EXAMPLE OF ITEM IN RECYCLE BIN
#Web : Contoso
#ID : 61abc558-40a7-45d2-8af5-673963742a1e
#ItemState : FirstStageRecycleBin
#ItemType : File
#Title : Document for testing
#DirName : AwesomeFolder/2018/
#LeafName : test.docx
#Author : Domain\User1
#AuthorId : 30
#AuthorName : Domain\User1
#AuthorEmail : [email protected]
#DeletedBy : Domain\User1
#DeletedById : 30
#DeletedByName : Domain\User1
#DeletedByEmail : [email protected]
#DeletedDate : 09.11.2018 10:02:43
#Size : 110474
#ProgId :
#ImageUrl : /_layouts/images/icdocx.png
If You can guess CT from library and path (DirName) or title (Title), then You are lucky. If not, there is one long and painful way (unsupported by Microsoft) - get data from SQL database directly. I cannot give precise SQL queries, but the idea is like this :
1) get all items from [RecycleBin] table
2) use IDs to locate items in [AllDocs] table
3) decompress data in [MetaInfo] column --> here You will find Content type :)
4) use column [DoclibRowId] value to delete items in recycle bin by column [Id]