Utilizzando il client FTP di Windows, si desidera utilizzare l'opzione -s:filename
per specificare uno script per l'esecuzione del client FTP. La documentazione specifica che non si dovrebbe provare a reindirizzare l'input nel client FTP con un carattere <
.
L'esecuzione dello script inizierà immediatamente, quindi funziona per nome utente/password.
Tuttavia, la sicurezza di questa configurazione è discutibile poiché ora si ha un nome utente e una password per il server FTP visibili a chiunque decida di guardare il file batch.
In entrambi i casi, è possibile generare il file di script al volo dal file batch e poi passarlo al client FTP in questo modo:
@echo off
REM Generate the script. Will overwrite any existing temp.txt
echo open servername> temp.txt
echo username>> temp.txt
echo password>> temp.txt
echo get %1>> temp.txt
echo quit>> temp.txt
REM Launch FTP and pass it the script
ftp -s:temp.txt
REM Clean up.
del temp.txt
Sostituire nomeserver, nome utente e la password con i tuoi dettagli e il file batch genererà lo script come temp.txt avvia ftp con lo script e quindi elimina lo script.
Se si ottiene sempre lo stesso file, è possibile sostituire lo %1
con il nome del file. Altrimenti, basta avviare il file batch e fornire il nome del file per ottenere un argomento.
Hai provato a usare qualcosa di simile a una pipe "|" instradare il nome utente e la password? O forse un file di testo contenente nome utente e password, quindi "ftp domain.net
TimH