1

使用以下代码时,我遇到了 Powershell 无法跨服务器复制最新文件的问题。

$dir="\\MyServer\SQLBackups\SQL Backup*.bak"
$FileLocation = "E:\SQLRestore\SQL Backup Latest.bak"

If (Test-Path $FileLocation){
    Remove-Item $FileLocation
}

If (Test-Path $dir){
    $latest = Get-ChildItem -Path $dir | Sort-Object CreationTime -Descending | Select-Object -First 1
    Copy-Item -Path "$latest" -Destination $FileLocation
}

代码应找到带有前缀“SQL Backup”的最新 .bak 文件并在本地传输。

这个过程运行了一个多月,服务器或过程都没有变化,突然传输时间从 5 分钟下降到 3 秒,并且正在传输相同的文件。

非常感谢

4

1 回答 1

0

将一些日志记录语句添加到您的脚本中以查看实际发生的情况。像这样,

$logfile = "c:\myLogFile.txt"
If (Test-Path $dir){
    $latest = Get-ChildItem -Path $dir | Sort-Object CreationTime -Descending | Select-Object -First 1
    add-content $logfile "Latest file: is $($latest.FullName)"
    Copy-Item -Path "$latest" -Destination $FileLocation
}
于 2014-09-01T09:55:08.670 回答