Frage : Wie man alle Zip Dateien von einem ftp-Verzeichnis using Powershell bringt

Ich verwende den folgenden Code, um zu versuchen, zu einer ähnlichen Web site using Powershell anzumelden, um auf ein ftp site zurückzugreifen mich wunderte, wie Sie alle Akten innerhalb eines specidied Verzeichnisses auf einen lokalen Bestimmungsort bringen würden. Z.B. wie Sie alle Zip Dateien, unabhängig davon Namen und Größe, using Powershell, um auf das ftp site zurückzugreifen bringen und die Akten auf meine lokale Einheit zu bringen, wenn das ftp site nicht zu Ihrer Maschine lokal ist. Ich habe erforscht, wie man eine einzelne Akte using Powerscript bringt und mit dem Beispielcode unten aufkam. Wie ändere ich/Änderung dieser Code, der alle Akten im Verzeichnis kopiert werden dürfen würde? Zusätzlich zu dieser Ausgabe habe ich auch die Fehlermeldung „$readlength = $responsestream empfangen. Gelesenes (<<<< $readbuffer, 0.1024)
+ können Sie eine Methode auf einem ungültig-bewerteten Ausdruck nicht benennen.“ Was würde diese Fehlermeldung veranlassen, using ähnlichen Code zum folgenden Code zu erscheinen?

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

# verursachen einen FTPWebRequest Gegenstand, um den Anschluss zum ftp server
$ftprequest = :: ($sourceuri)

# verursachen einstellen die Netzbescheinigungen des Antrags für ein beglaubigtes connection
$ftprequest. Bescheinigungen =
Neu-Gegenstand System.Net.NetworkCredential ($username, $password)

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

# schicken den ftp-Antrag zum server
$ftpresponse = $ftprequest.GetResponse ()

# erhalten einen Downloadstrom vom Bediener response
$responsestream = $ftpresponse.GetResponseStream ()

# herstellen die Zielakte auf dem lokalen System und dem Download buffer
$targetfile = Neu-Gegenstand IO.FileStream ($targetpath, :: )
[Byte []] $readbuffer = Schleife des Neu-Gegenstand Bytes [] 1024

# durch den Downloadstrom verursachen und die Daten zum Ziel file
do {
schicken $readlength = $responsestream. ($readbuffer, 0,1024)
$targetfile lesen. ($readbuffer, 0, $readlength)
}
while ($readlength - Ne 0)

$targetfile.close ()
schreiben

Antwort : Wie man alle Zip Dateien von einem ftp-Verzeichnis using Powershell bringt

So using den Code von dieser Verbindung:

[Lücke] [Reflection.Assembly]:: LoadFrom („C:\IndyNet - Daily-20051007 \ Indy.Sockets.dll“)
$ftp = Neugegenstand Indy.Sockets.FTP
$ftp. Trennen ()
$ftp. Wirt = $ftphost
$ftp. Username = $username
$ftp. Kennwort = $password
$ftp. Anschließen ()
$ftp. Passive=$true;

WC = Neugegenstand System.Net.WebClient
$wc. Bescheinigungen = Neu-Gegenstand System.Net.NetworkCredential ($strFtpUser, $strFtpPass)
$ls = Neugegenstand System.Collections.Specialized.StringCollection;
$ftp. Liste ($ls, "", $true);
foreach ($file in $ls) {
   „, herunterladend {0} in {1}.“ - f $sourceFileName, $targetDir;
    $ftp. Erhalten ($sourceFileName, ($targetDir + $sourceFileName), $true, $false);
}
Weitere Lösungen  
 
programming4us programming4us