2010-05-19 25 views

risposta

6

Ecco un esempio di come automatizzare il built-in ftp.exe strumento:

L'esempio è di circa il caricamento, ma il principio è lo stesso (basta usare get invece di put).

Tuttavia, poiché questo è solo "comandi di piping" in ftp.exe, consiglio di non eseguire questa operazione per file batch di qualità di produzione (nessuna gestione degli errori, ecc.), Ma per utilizzare invece uno strumento esterno. Ho fornito questa risposta solo perché hai chiesto esplicitamente una soluzione che utilizza solo comandi integrati di Windows.

EDIT: Ecco un esempio 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

Quindi ... griglia come sostituire il file esistente con file recived? Potresti aggiungere un esempio di codice, per favore. – Rella

+0

Aggiunto un esempio. – Heinzi

+0

Sono in una situazione in cui ho bisogno di copiare un file da un percorso FTP in una cartella locale nella mia macchina. Come posso ottenerlo usando un file batch. –

1

Quale software client FTP stai utilizzando? È scrivibile? In tal caso, crea uno script che scarica i file e chiama questo script dal file batch.

Lo sto facendo con WS_FTP.

1

La riga di comando programma FTP che è built-in per la maggior parte dei sistemi operativi Windows is scriptable. Hai solo bisogno di creare un file di testo con i comandi da inviare se si stesse eseguendo a mano (un comando per riga), quindi eseguire in questo modo:

ftp -s:download.scr 
+0

Quindi ... griglia come sostituire il file esistente con il file recived? Potresti aggiungere un esempio di codice, per favore. – Rella

+0

Il codice di esempio di Heinzi dovrebbe funzionare :) – ewall

Problemi correlati