I am trying to get back into PoSH scripting and need to write this script that needed to be ran last week

, and I cannot figure it out.
Here is what I am trying to do:
One our file server, we have job folders with "Archive" folders inside of the individual job folders. These archive folders need to be moved off the server to free up drive space. The problem is, I have to maintain the folder hierarchy when moving them and that is where I am failing at.
Here is an example of what I have that is almost what I want:
$source = "Q:\DATA\"
$target = "Q:\TEST\"
Get-ChildItem $source -Recurse -Filter *Archive* | Where {$_.psiscontainer} | Move-Item -Destination { Join-Path $target $_.FullName.SubString($PWD.Path.Length)} -WhatIf
The problem with this version is it either removes too much of the folder structure, or not enough.
Any help would be appreciated!