का उपयोग कर एफ़टीपी से सबसे हालिया फ़ाइल डाउनलोड करें मैं पावरशेल स्क्रिप्ट पर काम कर रहा हूं, जो एक एफ़टीपी साइट से फ़ाइलों को खींच देगा। फ़ाइलों को हर घंटे एफ़टीपी साइट पर अपलोड किया जाता है, इसलिए मुझे सबसे हालिया डाउनलोड करने की आवश्यकता है। कोड जो मैंने वर्तमान में केवल एक फ़ाइल के बजाय आज से सभी फाइलों को डाउनलोड किया है। मैं इसे केवल नवीनतम फ़ाइल डाउनलोड कैसे करूं?PowerShell
यहाँ कोड है कि मैं वर्तमान में
$ftpPath = 'ftp://***.***.*.*'
$ftpUser = '******'
$ftpPass = '******'
$localPath = 'C:\Temp'
$Date = get-date -Format "ddMMyyyy"
$Files = 'File1', 'File2'
function Get-FtpDir ($url, $credentials)
{
$request = [Net.FtpWebRequest]::Create($url)
if ($credentials) { $request.Credentials = $credentials }
$request.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory
(New-Object IO.StreamReader $request.GetResponse().GetResponseStream()) -split "`r`n"
}
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential($ftpUser,$ftpPass)
$webclient.BaseAddress = $ftpPath
Foreach ($item in $Files)
{
Get-FTPDir $ftpPath $webclient.Credentials |
? { $_ -Like $item+$Date+'*' } |
% {
$webClient.DownloadFile($_, (Join-Path $localPath $_))
}
}
WinSCP एक महान उपयोगिता और बहुत विश्वसनीय :) – Jimbo
WinSCP चट्टानों है (मैं WinSCP के लेखक हूँ)। PowerShell के साथ एफ़टीपी स्थानांतरण के लिए यह काफी कुशल है। – sodawillow