I am struggling to get this simple PowerShell script to work. I have googled, but I can't find the answer.
As you can see, I am specifying the source and destination location.
The $filedate variable is doing a dateadd to get yesterdays date as the filename contains the date.
The $filter variable has the string I am searching on, including the date part.
The Get-ChildItem command works on its own, but when I apply the filter it returns nothing. What am I missing to get this to work?
$source = "C:\MSSQL.1\Backup\"
$destination = "D:\MSSQL.2\Backup\"
$filedate = (get-date).AddDays(-1).tostring('yyyyMMdd')
$filter = "FULL_(local)_Product_" + $filedate + "*"
Get-ChildItem -Path $source -filter $filter | Copy-Item -Destination $destination
Try filtering the list of files by using the Where-Object cmdlet and the -match
operator:
$source = "C:\MSSQL.1\Backup\"
$destination = "D:\MSSQL.2\Backup\"
$filedate = (Get-Date).AddDays(-1).ToString("yyyyMMdd")
$filter = "FULL_(local)_Product_$filedate"
Get-ChildItem -Path $source | Where-Object { $_.Name -match $filter } | Copy-Item -Destination $destination
If you're still not getting any results, then we need to look at the filter itself.
Related resources:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With