2017-01-05 55 views
2

我遇到了從一個WAN位置到下一個WAN位置副本上的PDF文件被破壞的問題。WAN鏈接上的文件傳輸導致損壞

我有一個運行夜間通過Windows任務計劃程序,有時是兩個複製的PDF文件,從佛羅里達州的一個衛星辦公室,我們在俄勒岡州的企業網絡中的PowerShell腳本(下面的代碼)。這些文件通常在35 Megs左右,但已被認爲大到65 Megs。這些文件在衛星位置生成的很好,但在複製腳本在夜間運行後,文件變得損壞並且無法打開。

有什麼我可以在腳本做,包括一些類型的錯誤校正,以保證文件不腐敗?是否有更好的工具可以用來確保文件傳輸並保持完整性。

我不會嫁給任何解決方案只是只要我可以自動生成當天的文件的過程中,只有複印件。

謝謝你的幫助。 大衛

PowerShell腳本


$SourcePath = "\\Satellite\packingslips" 
$RemotePath = "\\Corp\Shared\Packing_Slips\Satellite" 

$Curr_date = get-date 
$Max_days = "-1" 


Get-ChildItem $SourcePath | 
    Where-Object {($_.LastWriteTime.Date -ge ($Curr_date.addDays($Max_days)).Date) -and ($_.LastWriteTime.Date -le $Curr_date.Date)} | 
    Copy-Item -Destination $RemotePath 

不要在我的代碼笑。這不是我的強項。

+1

嗨,你可以嘗試用本機命令'robocopy'(*強大的文件副本*)替換'Copy-Item'。語法不太清楚,但它表現非常好。 – sodawillow

+0

如果您手動運行該腳本,它是否工作? – Nick

+0

除了sodawillow的robocopy建議之外,另一個選擇是使用BITS通過'Start-BitsTransfer' cmdlet複製文件 – BenH

回答

1

同意TessellatingHeckler - 我想看看你的廣域網接口的錯誤率......

不過,我也同意,ROBOCOPY是向前邁出的很好的方法:

robocopy \\Satellite\packingslips \\Corp\Shared\Packing_Slips\Satellite *.pdf /minage:1 /log:<path_to_logfile> 
+0

感謝您的建議和代碼示例!我會試一試,看看它有什麼用處。 – David