Pytanie : Dlaczego Wszystko ZAPINAĆ kartoteka od FTP Książka telefoniczna using Powershell

I używać the następujący kod logon jednakowy strona internetowa using Powershell FTP miejsce zastanawiać się jak ty przenosić wszystkie kartoteka wśród specidied książka telefoniczna lokalny miejsce przeznaczenia. Na przykład, jak ty przenosić wszystkie zamek błyskawiczny kartoteka, niezależnie od imię i rozmiar, using Powershell the FTP miejsce i the kartoteka mój lokalny przyrząd jeżeli the FTP miejsce być lokalny twój maszyna. I badać dlaczego pojedynczy kartoteka using Powerscript i przychodzić pojedynczy z the przykład kod pojedynczy. Dlaczego I/zmiana ten kod pozwolić dla wszystkie kartoteka w the książka telefoniczna kopiować? W dodatku do ten zagadnienie, I także otrzymywać the błąd wiadomość "$readlength = $responsestream. Czytać (<<<< $readbuffer, 0,1024)
+ Ty móc metoda na null-cenić wyrażenie." Kod powodować ten błąd wiadomość, using jednakowy kod the następujący kod?

$sourceuri = " ftp://ftp.secureftp-test. com/hamlet.zip "
$targetpath = "C:\hamlet.zip "
$username = "test "
$password = "test "

# Tworzyć FTPWebRequest przedmiot the związek the ftp server
$ftprequest = [System.Net.FtpWebRequest] :: tworzyć ($sourceuri)

# ustawiać the prośba sieć referencje dla uwiarygodniać connection
$ftprequest. Referencje =
Nowy-Protestować System.Net.NetworkCredential ($username, $password)

$ftprequest. Metoda = [System.Net.WebRequestMethods+Ftp]:: DownloadFile
$ftprequest.UseBinary = $true
$ftprequest.KeepAlive = $false

# wysyłać the ftp prośba the server
$ftpresponse = $ftprequest.GetResponse ()

# dostawać ściąganie strumień od the serwer response
$responsestream = $ftpresponse.GetResponseStream ()

# tworzyć the cel kartoteka na the lokalny system i the ściąganie buffer
$targetfile = Nowy-Protestować IO.FileStream ($targetpath, [IO.FileMode] :: Tworzyć)
[bajt []] $readbuffer = Nowy-Protestować bajt [] 1024

# pętla przez the ściąganie strumień i wysyłać the dane the cel file
do {
$readlength = $responsestream. Czytać ($readbuffer, 0,1024)
$targetfile. Pisać ($readbuffer, (0), $readlength)
}
while ($readlength - ne (0))

$targetfile.close ()

Odpowiedź : Dlaczego Wszystko ZAPINAĆ kartoteka od FTP Książka telefoniczna using Powershell

W Ten Sposób using the kod od ten połączenie:

[pustka] [Reflection.Assembly]:: LoadFrom ("C:\IndyNet - Daily-20051007 \ Indy.Sockets.dll")
$ftp = nowy-protestować Indy.Sockets.FTP
$ftp. Rozłączenie ()
$ftp. Gospodarz = $ftphost
$ftp. Username = $username
$ftp. Hasło = $password
$ftp. Łączyć ()
$ftp. Passive=$true;

wc = nowy-protestować System.Net.WebClient
$wc. Referencje = Nowy-Protestować System.Net.NetworkCredential ($strFtpUser, $strFtpPass)
$ls = nowy-protestować System.Collections.Specialized.StringCollection;
$ftp. Lista ($ls, "", $true);
foreach ($file w $ls) {
   "Ściągać {(0)} w {(1)}." - f $sourceFileName, $targetDir;
    $ftp. Dostawać ($sourceFileName, ($targetDir + $sourceFileName), $true, $false);
}
Inne rozwiązania  
 
programming4us programming4us