我有遠程服務器,每天將在哪裏上傳一個文件。我不知道文件何時會上傳。我需要將這個文件複製到另一個服務器進行處理,並且我需要每個文件只執行一次(每天一次)。當文件上傳到遠程服務器時,我需要在一小時內複製它,所以我必須至少每小時運行一次該腳本。我使用這個腳本:如何一天覆制文件一次 - 優雅的解決方案
# Get yesterday date
$date = (Get-Date).Adddays(-1) | Get-Date -Format yyyyMMdd
$check = ""
$check = Get-Content c:\checkiftransfered.txt
# Test if file checkiftransfered.txt contains True or False. If it contains True, file for this day was already copyied
if ($check -ne "True") {
#Test if file exists - it has specific name and yesterday date
if(Test-Path \\remoteserver\folder\abc_$date.xls) {
Copy-Item \\remoteserver\folder\abc_$date.xls \\remoteserver2\folder\abc_$date.xls
# Write down information that file was already copyied
$check = "True" | Out-File c:\checkiftransfered.txt
} else { Write-Host "File has not been uploaded."}
} else { Write-Host "File has been copyied."}
# + I will need another script that will delete the checkiftransfered.txt at 0:00
它會正常工作,我想,但我在尋找更好的解決方案 - 如何解決這個問題的最好辦法。謝謝
您可以編寫腳本,並在您希望的任何時間將其作爲「cron」作業運行。 – karthikr
我知道我可以安排它,但這不是問題。我需要確認這個解決方案是如何解決它的最好方法。 – culter