PowerShell Work With FTP
2022-09-28
筆記如何使用 PowerShell 連線 FTP 進行資料下載。
說明
使用的原理是使用 .NET 物件,使用 ftpwebrequest
讀取 FTP 並使用 WebClient
進行下載。
$FTPUser = "ftpuser"
$FTPUserPW = "********"
$ftp = "ftp://10.1.1.100/subfolder"
$Destination = "C:\temp\"
$uri = [system.URI] $ftp
$ftpRequest = [system.net.ftpwebrequest]::Create($uri)
$ftpRequest.Credentials =
New-Object System.Net.NetworkCredential($FTPUser, $FTPUserPW)
$ftpRequest.Method = [system.net.WebRequestMethods+ftp]::ListDirectory
$response = $ftpRequest.GetResponse()
$reader = New-Object System.IO.StreamReader($response.GetResponseStream(), 'UTF-8')
$files = $reader.ReadToEnd().Split("`n")
foreach ($fileName in $files[0..5])
{
$fileName = $fileName.Trim()
$_ftpuri = "$ftp/$filename"
$_dest = "$Destination$fileName".ToLower()
$_webclient = New-Object System.Net.WebClient
$_uri = New-Object System.Uri($_ftpuri)
$_webclient.DownloadFile($_uri, $_dest)
}
相關連結
Powershell 使用物件與資料結構 (Array, Hash)