Fråga : Hur man överför all VINANDE sparar från ett FTP-arkiv using Powershell

Förmiddag I using efter kodifiera till försök att logga in till en liknande website using Powershell för att ta fram ett ftp site undrade hur du skulle överföring som allt sparar inom ett specidied arkiv till en lokaldestination. Till exempel hur du överför, all vinande sparar, utan hänsyn till känt och storleksanpassar, using Powershell för att ta fram ftpet site, och att överföra sparar till min lokalapparat, om ftpet site inte är lokalen till ditt bearbetar med maskin. Jag har forskat hur man överför en gåsmarsch using Powerscript och kom med exemplet kodifierar upp nedanfört. Hur skulle jag ändrar/ändring som alla denna kodifierar för att låta för sparar i arkivet som ska kopieras? Förutom detta utfärda, mig har varit också hälerit felmeddelandet ”$readlength = $responsestream. Läst (<<<< $readbuffer, 0.1024)
+ du kan inte appellen en metod på ettvärderat uttryck.”, Skulle vad orsaka detta felmeddelande för att synas, using liknande kodifierar till efter kodifiera?

$sourceuri = rel= " nofollow " för _blank” ”för ftp://ftp.secureftp-test. com/hamlet.zip "/>$targetpath = ”C:\hamlet.zip "
$username = ”testar "
$password = ”testar "

# skapar en FTPWebRequest anmärker för att behandla anslutningen till en ftp-server$ftprequest = :: skapa ($sourceuri) uppsättningen för

# som förfråganen knyter kontakt vitsord för en legitimerad connection
$ftprequest. Vitsord=
Ny-Anmärker

$ftprequest för System.Net.NetworkCredential ($username, $password). Metod = [System.Net.WebRequestMethods+Ftp]:: DownloadFile
$ftprequest.UseBinary = $true
$ftprequest.KeepAlive = $false

# överför ftp-förfråganen till server
# för/>$ftpresponse = för $ftprequest.GetResponse () får en nedladdning strömmer från serverresponse
# för/>$responsestream = för $ftpresponse.GetResponseStream () skapar uppsätta som mål sparar på lokalsystemet, och nedladdningbuffer$targetfile = Ny-Anmärker IO.FileStream ($targetpath, :: Skapa)
[byte []] $readbuffer = Ny-Anmärker byten [] 1024

# kretsar till och med nedladdningen strömmer och överför datan till uppsätta som målfiledo {
$readlength = $responsestream. Läs ($readbuffer, 0,1024)
$targetfile. Skriv ($readbuffer, 0, $readlength)
för

$targetfile.close för
while ($readlength - ne 0) för
} () " klar "

Svar : Hur man överför all VINANDE sparar från ett FTP-arkiv using Powershell

Så using kodifiera från det anknyta:

[annullera] [Reflection.Assembly]:: LoadFrom (”C:\IndyNet - Daily-20051007 \ Indy.Sockets.dll”)
$ftp = ny-anmärker Indy.Sockets.FTP
$ftp. Koppla från ()
$ftp. Vara värd = $ftphost
$ftp. Username = $username
$ftp. Lösenord = $password
$ftp. Förbind ()
$ftp. Passive=$true;

wc = ny-anmärker System.Net.WebClient
$wc. Vitsord = Ny-Anmärker System.Net.NetworkCredential ($strFtpUser, $strFtpPass)
$ls = ny-anmärker System.Collections.Specialized.StringCollection;
$ftp. Lista ($ls, "", $true);
foreach ($file i $ls) {
   ”Nedladda {0} in i {1}.”, - f $sourceFileName, $targetDir;
    $ftp. Få ($sourceFileName, ($targetDir + $sourceFileName), $true, $false);
}
Andra lösningar  
 
programming4us programming4us