【发布时间】:2020-09-07 09:49:38
【问题描述】:
我有一个源文件夹和一个目标文件夹。如果源文件夹中的文件比目标文件夹中的文件新,则必须替换它。 我自己尝试过,但它不能正常工作。对于专业人士来说,代码可能解决得太复杂了。
$SourceAlarmgroups = $rootPath + "\..\..\..\..\..\..\Logical\VCShared\AlarmGroups"
$DestinationAlarmgroups = "$rootPath\Alarmgroups"
$lastModifiedDateSource = (Get-Item $SourceAlarmgroups).LastWriteTime
$lastModifiedDateDestination = (Get-Item $DestinationAlarmgroups).LastWriteTime
$FolderSource = Get-ChildItem -Recurse -Path $SourceAlarmgroups
$FolderDestination = Get-ChildItem -Recurse -Path $DestinationAlarmgroups
$FolderCheck = Compare-Object -ReferenceObject $FolderSource -DifferenceObject $FolderDestination
forEach($file in $FolderCheck){
if ($file.sideindicator -eq "<="){
$SetWriteCmd = 1
}
}
if ($lastModifiedDateSource -gt $lastModifiedDateDestination -or $SetWriteCmd -eq 1 ){
Write-Host " Collect alarm files..."
Get-ChildItem $SourceAlarmgroups -Include *.algrp | Copy-Item -Destination $DestinationAlarmGroups -Force -PassThru
&$Script2RunAlarmexport
}else{
Write-Host "Alarms: Already up to date"
}
出现两个问题:
- 引用空文件夹不起作用,即如果目标文件夹为空,则会出现错误。
- 文件未从源复制到目标
谁能帮帮我。 蒂亚!
【问题讨论】:
标签: powershell copy compare