5
我正在使用PowerShell腳本,它將從FTP站點提取文件。這些文件每小時上傳到FTP站點,因此我需要下載最新的文件。我目前的代碼下載了今天的所有文件,而不僅僅是一個文件。我如何只下載最新的文件?使用PowerShell從FTP下載最新文件
這裏是我目前正在使用
$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賦予岩石。使用PowerShell進行FTP傳輸非常高效。 – sodawillow