2010-05-19 99 views
6

Cómo crear un archivo .BAT para descargar el archivo o la carpeta del servidor FTP? (Y reemplazar con ella archivo existente) (tenemos enlaces como ftp://me:[email protected]/file.file (o http://example.com/file.file) y enlace de archivos absoluta como C:\Users\UserName\Some mixed Русский English Adress\file.file) (utilizando sólo ventanas nativas (XP Win7 Vista del etc) funciones MTD y archivos)Cómo crear un archivo .BAT para descargar el archivo del servidor HTTP ftp?

Respuesta

6

Aquí es un ejemplo de cómo automatizar la incorporada en ftp.exe herramienta:

El ejemplo se trata de subir, pero el principio es el mismo (sólo tiene que utilizar get en lugar de put).

Aún así, dado que esto es solo "comandos de canalización" en ftp.exe, recomiendo no hacerlo para archivos por lotes de calidad de producción (sin manejo de errores, etc.), sino para usar alguna herramienta externa. Proporcioné esta respuesta solo porque usted solicitó explícitamente una solución que solo utiliza los comandos incorporados de Windows.

EDIT: He aquí un ejemplo concreto:

REM replace this with your user name and password 
REM make sure there is no space between the pwd and the >> 

echo user me > getftp.dat 
echo mypass>> getftp.dat 

echo binary >> getftp.dat 

REM replace this with the remote dir (or remove, if not required) 

echo cd remoteSubDir >> getftp.dat 

REM replace this with the local dir 

echo lcd C:\Users\UserName\SomeLocalSubDir >> getftp.dat 

REM replace this with the file name 

echo get file.file >> getftp.dat 
echo quit >> getftp.dat 

REM replace this with the server name 

ftp -n -s:getftp.dat example.com 

del getftp.dat 
+0

Entonces ... ver cómo reemplazar el archivo existente con el archivo recibido? Podría agregar un ejemplo de código, por favor. – Rella

+0

Agregó un ejemplo. – Heinzi

+0

Estoy en una situación en la que necesito copiar un archivo de una ruta FTP a una carpeta local en mi máquina. ¿Cómo puedo lograr eso usando un archivo por lotes? –

1

¿Qué software de cliente FTP está utilizando? ¿Es scripttable? De ser así, cree un script que descargue archivos y llame a este script desde su archivo por lotes.

Estoy haciendo esto con WS_FTP.

1

La línea de comandos programa de FTP que está integrado en la mayoría de los sistemas operativos Windows is scriptable. Solo necesita crear un archivo de texto con los comandos que enviaría si lo estuviera ejecutando manualmente (un comando por línea), luego ejecútelo de esta manera:

ftp -s:download.scr 
+0

Entonces ... ¿cómo remplazar el archivo existente por el archivo recibido? Podría agregar un ejemplo de código, por favor. – Rella

+0

El código de ejemplo de Heinzi debería funcionar :) – ewall

Cuestiones relacionadas