我需要一些PowerShell的帮助。我的经验非常有限,因为我是一个sql server dba。我目前正在做的是从2000年到2008年迁移数据库。我想从源到目标自动化.bak副本,所以我不需要进入每个文件夹并复制然后粘贴。那么让我来说明一下。源目录包含文件夹 a b c d 。我希望脚本从每个文件夹中读取,或者理想地指定文件夹名称并获取最新文件 .Bak按日期完整备份并复制到目的地。目的地将具有相同的文件夹,因此文件夹a的备份复制到目标文件夹 a 将会很棒。之后我想做同样的事情但是将我的搜索从完全备份搜索更改为差异。任何帮助表示赞赏。
答案 0 :(得分:0)
这就是我要解决的问题。文件夹路径和目标路径的变量是根文件夹,子文件夹的变量列出每个要搜索的文件夹。
Clear-Host
$ChildFolders = @('A', 'B')
for($i = 0; $i -lt $ChildFolders.Count; $i++){
$FolderPath = "D:\BackupSource\" + $ChildFolders[$i]
$DestinationPath = "D:\BackupDestination\" + $ChildFolders[$i]
gci -Path $FolderPath -File | Sort-Object -Property LastWriteTime - Descending | Select FullName -First 1 | %($_){
$_.FullName
Copy-Item $_.FullName -Destination $DestinationPath
}
}
答案 1 :(得分:0)
鉴于此结构,意味着所有文件夹都存在。
toDestinationFlights: toDestinationFlightsTemp, //This for whatever reason works fine
returnFlights: returnFlightsTemp
})
flightsToLoc.Flight.forEach(function(flightTo, i) {
toDestinationFlightsTemp.push(flightTo.DepartureAirport.LocationCode);
})
returnFlights.Flight.forEach(function(flightTo, i) {
returnFlightsTemp.push(flightTo.DepartureAirport.LocationCode)
})
}
toDestinationFlightsARIVALTemp = toDestinationFlightsTemp.concat(returnFlightsTemp[0]);
}
getAirportNameToLocation(trips)
flightObjects;
您可以执行以下操作:
├───destination
│ ├───A
│ └───B
└───source
├───A
└───B
它获取与您的过滤器匹配的所有文件,按LastWriteTime按降序排序,选择最新文件并将其复制到目的地。