2015-06-11 29 views
5

Sto cercando di caricare un file di testo al server FTP utilizzando un file batch. E 'Accessi al successo e mostraOttenere "Impossibile connessione dati non aperto al porta XXXX" durante il caricamento di file da FTP da Windows file batch

comando Port inviato con successo

ma dopo che mostra

Impossibile aprire la connessione dati alla porta xxxx
Connessione scaduta

Questo è lo script batch:

@echo off 

for %%A in (*.csv) do set latest=%%A 
echo Latest file is %latest% 

echo MYUSERNAME> upload.txt 
echo MYPASSWORD>> upload.txt 
echo asc>>upload.txt 
echo put %latest% s.txt>> upload.txt 
echo quit >> upload.txt 

ftp -s:upload.txt server58.hostinger.in 
+0

È possibile connettersi ad esso senza il batch file – Cfreak

+0

Qual è il codice di risposta? –

risposta

4

Questo appare come un problema tipico con una modalità attiva FTP. Il server non può riconnettersi alla propria macchina per stabilire una connessione di trasferimento dati.

In genere, al giorno d'oggi la maggior parte delle macchine client si trova dietro un firewall o NAT o entrambi, ciò che impedisce il funzionamento della modalità FTP attiva. Per far funzionare la modalità attiva è necessario aprire il firewall (non consigliato) e/o configurare le regole di routing NAT.

Vedi il mio articolo su FTP modes and configuring network for an active mode.


Oppure si utilizza una modalità FTP passiva. Il client Windows ftp.exe tuttavia non supporta la modalità passiva, cosa che lo rende alquanto inutile al giorno d'oggi.

Quindi è necessario utilizzare un altro client FTP da riga di comando. La maggior parte dei client FTP supporta la modalità passiva.

Ad esempio, con WinSCP il file batch sarebbe come:

@echo off 

for %%A in (*.csv) do set latest=%%A 
echo Latest file is %latest% 

winscp.com /command^
    "open ftp://MYUSERNAME:[email protected]/"^
    "put -transfer=ascii %latest% s.txt"^
    "exit" 

Nota che WinSCP il default è il modo passivo.

Per i dettagli si veda WinSCP guide per:

(io sono l'autore di WinSCP)

+0

Dato che lo script ha funzionato per me con WinSCP ..... –