我尝试根据Get-Date
时间戳的小时复制文件,以便将其与从filename_10_00.ext
结构中的其他来源保存的文件相匹配。如果我使用24小时制,我可以使用Get-Date
小时来确定我要查找的文件。 (这是运行每小时备份)
这就是我所拥有的:
$current_time = Get-Date
$hour_var = $current_time.Hour
Get-ChildItem -Path \\Path\To\Source | Where-Object {
$_.Name -match "$hour_var"
} | Copy-Item -Destination \\Path\To\Destination
根据我提供的PowerShell,有人可以告诉我为什么它似乎无法匹配吗?
我正在寻找纯粹的PowerShell,理想情况下没有导入的模块。
答案 0 :(得分:1)
假设小时格式的前导零尝试:
$Src = "\\Path\To\Source"
$Dst = "\\Path\To\Destination"
$CurrHour = (Get-Date).Hour.ToString('00')
Get-ChildItem -Path $Src *_??_??.ext |
Where-Object BaseName -match "^.*_$CurrHour_\d{2}$" |
Copy-Item -Destination $Dst -whatif
如果输出看起来没问题,请删除-whatif