2014-03-31 130 views
0

我的腳本用一個ftp站點的數據下載一個硬編碼文件名,但我需要它下載最新的文件和(可能是上次下載的時間戳)。我剛開始使用PowerShell,並尋找線索,使我的腳本更復雜,但似乎無法獲得大部分IVE發現的代碼。你能給我一些方向嗎?這是我當前的代碼:我使用Powershell從ftp站點下載新文件

# Create FTP Connection 
$FTPRequest = [System.Net.FtpWebRequest]::Create("ftp://ftp.sitepath/newestfile.txt") 
$FTPRequest.Credentials = New-Object System.Net.NetworkCredential("username", "pw") 
$FTPRequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile 

$FTPRequest.UsePassive = $false 
$FTPRequest.UseBinary = $true 
$FTPRequest.KeepAlive = $false 
$folderName = (Get-Date).tostring("dd-MM-yyyy-hh-mm-ss")    
New-Item -itemType Directory -Path \\server\directory\ -Name $FolderName 
$targetfile = New-Object 
IO.FileStream "\\server\directory\$FolderName\newestfilename.txt"),  [IO.FileMode]::Create) 
# Get FTP File 
$FTPResponse = $FTPRequest.GetResponse() 
$ResponseStream = $FTPResponse.GetResponseStream() 
$FTPReader = New-Object -typename System.IO.StreamReader -ArgumentList $ResponseStream 
[byte[]]$readbuffer = New-Object byte[] 1024 

#loop through the download stream and send the data to the target file 
do{ 
    $readlength = $ResponseStream.Read($readbuffer,0,1024) 
    $targetfile.Write($readbuffer,0,$readlength) 
} 
while ($readlength -ne 0) 
$FTPReader.Close() 

$FTPReader.Close() 

Thank you for your help. 
+0

你是什麼意思,「似乎無法獲得我發現的大部分代碼」?請解釋您正在進一步處理的問題。另外,關於獲取最新文件,您在那裏嘗試了哪些內容以及您在嘗試中觀察到了哪些問題? –

回答