Cuestión : Cómo transferir todos los archivos de CIERRE RELÁMPAGO de un directorio del ftp usar Powershell

Estoy utilizando el código siguiente para intentar abrir una sesión a un Web site similar usar Powershell para tener acceso a un ftp site me preguntaba cómo usted transferiría todos los archivos dentro de un directorio specidied a una destinación local. Por ejemplo, cómo usted transfiere todos los archivos de cierre relámpago, sin importar nombre y tamaño, usar Powershell para tener acceso al ftp site y para transferir los archivos a mi dispositivo local si el ftp site no es local a su máquina. He investigado cómo transferir un solo archivo usar Powerscript y subí con el código del ejemplo abajo. ¿Cómo me modifiqué/cambio este código tendría en cuenta todos los archivos en el directorio ser copiado? Además de esta edición, también he estado recibiendo el mensaje de error “$readlength = $responsestream. (<<<< $readbuffer, 0.1024) el
+ usted no puede llamar un método en una expresión nulo-valorada.” ¿Qué haría este mensaje de error aparecer, usar código similar al código siguiente?

$sourceuri = “rel= " nofollow " del _blank” del” target=” de ftp://ftp.secureftp-test.com/hamlet.zip del href= " del ftp://ftp.secureftp-test. com/hamlet.zip el "/>$targetpath = “
$username = “
$password = “

# de la prueba el " crea un objeto de FTPWebRequest para manejar la conexión al
$ftprequest = el :: crear ($sourceuri) el

# fijan las credenciales de la red de la petición para un connection
$ftprequest.

$ftprequest del Nuevo-Objeto System.Net.NetworkCredential ($username, $password) del =
de las credenciales. Método = [System.Net.WebRequestMethods+Ftp]:: el DownloadFile
$ftprequest.UseBinary = $true
$ftprequest.KeepAlive = $false

# envía la petición del ftp al server

# de/>$ftpresponse = de $ftprequest.GetResponse () consigue una corriente de la transferencia directa del response

# de/>$responsestream = de $ftpresponse.GetResponseStream () crea el archivo de blanco en el sistema local y el buffer
$targetfile = el Nuevo-Objeto IO.FileStream ($targetpath, el :: Crear) el
[octeto []] $readbuffer = lazo del octeto del Nuevo-Objeto [] 1024

# a través de la corriente de la transferencia directa y enviar los datos al file
do {
de la blanco $readlength = $responsestream. Leer ($readbuffer, 0,1024) el
$targetfile. Escribir ($readbuffer, 0, $readlength) el
del

$targetfile.close del
while ($readlength - ne 0) del
} () class= del

Respuesta : Cómo transferir todos los archivos de CIERRE RELÁMPAGO de un directorio del ftp usar Powershell

Tan usar el código de ese acoplamiento:

[vacío] [Reflection.Assembly]:: LoadFrom (“C:\IndyNet - Daily-20051007 \ Indy.Sockets.dll”)
$ftp = nuevo-objeto Indy.Sockets.FTP
$ftp. Desconectar ()
$ftp. Anfitrión = $ftphost
$ftp. Username = $username
$ftp. Contraseña = $password
$ftp. Conectar ()
$ftp. Passive=$true;

wc = nuevo-objeto System.Net.WebClient
$wc. Credenciales = Nuevo-Objeto System.Net.NetworkCredential ($strFtpUser, $strFtpPass)
$ls = nuevo-objeto System.Collections.Specialized.StringCollection;
$ftp. Lista ($ls, "", $true);
foreach ($file en $ls) {
   “Transfiriendo {0} en {1}.” - f $sourceFileName, $targetDir;
    $ftp. Conseguir ($sourceFileName, ($targetDir + $sourceFileName), $true, $false);
}
Otras soluciones  
 
programming4us programming4us