I've got a question. I want to do the following thing with PowerShell. Copy everything to a new directory except the folders named "56789" and "56789121". I tried GCI with the -Exclude option but it's not working as I want it.
You can find a visual representation of how I want to copy the things below:
C:\DATA
+---2
| +---56789
| +---Archived2001
| | | 66.txt
| | |
| | \---New folder
| \---Archived2002
\---4
| 33 - Copy.txt
| 33.txt
|
+---56789121
+---Archived2005
\---Archived2008
33 - Copy.txt
C:\MOVED
+---2
| +---Archived2001
| | | 66.txt
| | |
| | \---New folder
| \---Archived2002
\---4
| 33 - Copy.txt
| 33.txt
|
+---Archived2005
\---Archived2008
33 - Copy.txt
Until now I've got this but it's not working.
$from = 'c:\data'
$to = 'c:\moved'
$exclude = 'C:\data\*\[0-9]\'
Get-ChildItem -Path $from -r | ? {
$_.PsIsContainer -and $_.FullName -notmatch '$exclude'
} | Copy-Item -Destination $to -WhatIf