仅复制与变量字符串

时间:2017-03-01 23:44:03

标签: powershell copy copy-item

我尝试根据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,理想情况下没有导入的模块。

1 个答案:

答案 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