【发布时间】:2020-01-17 13:19:16
【问题描述】:
我正在尝试从与特定用户输入的日期匹配的生产服务器数组中复制所有文件(以便在必要时准备回滚)...这是我尝试过的:
[string[]]$ProdServerArray = "prdserver1", "prdserver2", "prdserver3"
[string[]]$InterfaceArray = "interfacefolder1", "interfacefolder2", "interfacefolder3", "interfacefolder4", "interfacefolder5"
New-Item -ItemType "directory" -Path "C:\GetFilesResults\$($date.toshortdatestring().replace("/","-"))\$search" -Force
$LocalPath = "C:\GetFilesResults\$($date.toshortdatestring().replace("/","-"))\$search"
do
{
$date = Read-host "Enter date (MM/DD/YYYY): "
}
while ($date -as [datetime] -isnot [datetime])
$date = $date -as [datetime]
$date
$search = foreach ($ProdServer in $ProdServerArray)
{
foreach ($Interface in $InterfaceArray)
{
'\\{0}\InterfaceFiles\{1}\' -f $ProdServer, $Interface
Get-ChildItem $search -File -Recurse | Where {$_.LastWriteTime -gt $date.date} | ForEach {
$actualSource = Split-Path $_.FullName
$actualDest = Split-Path $_.FullName.Replace($search,$LocalPath)
robocopy $actualSource $actualDest $_.Name /SEC }
}
}
我已成功获取所需的文件夹结构 - “\prdserver1\InterfaceFiles\interfacefolder1\”,但无法获取这些文件夹中文件的创建/修改日期并将它们复制到我的本地机器。我已经尝试过 Copy-Item、robocopy、batch 等,但还没有找到一种方法来运行所有这些循环,最好的情况是,如果它运行到一个文件或文件夹中,它似乎会爆炸。 t 符合条件...最坏的情况它什么也不做。
【问题讨论】:
标签: arrays powershell date copy robocopy