使用Powershell将文件从网络驱动器复制到本地驱动器

时间:2017-10-30 15:38:45

标签: powershell

我有以下代码,它将查看修改日期,我可以复制一个文件,单独运行。但是,我仍然无法让代码继续查看文件以及何时检测到复制更改。

Get-Childitem "directory goes here" -File | 
Where {$_.LastWriteTime -lt $date}
Copy-Item -Path 'directory goes here' -Destination 'directory goes here'

我可以就我出错的地方找到方向吗?

1 个答案:

答案 0 :(得分:0)

你的例子几乎已经完成了。您可以进一步扩展您的管道:

$UNC = '\\share'
$Path = 'C:\Temp'

Get-ChildItem -Path $UNC |
    Where-Object { $_.LastWriteTime -lt (Get-Date) } |
    ForEach-Object {
        Copy-Item -Path $_.FullName -Destination $Path
    }

虽然有所改进:

$Path = 'C:\Temp'
$UNC = Get-ChildItem -Path '\\share' -File
$Local = Get-ChildItem -Path $Path -File

ForEach ($File in $UNC)
{
    $Compare = $Local | Where-Object { $_.Name -eq $File.Name }
    If ($Compare -and $Compare.LastWriteTime -gt $File.LastWriteTime)
    {
        Copy-Item -Path $File.FullName -Destination $Path -Force
    }
}