View Full Version : Get file in FTP
danyel175
02-08-2007, 15:16
Ciao a tutti.
Quesito:
Avrei la necessità di eseguire un download da uno spazio ftp in maniera quotidiana e automatica, il problema è che il file che devo andare a scaricare ha come formato la data del giorno prima più l'estensione, dato che sulla stessa cartella vengono mantenuti anche i file dei giorni precedenti, nella cartella di destinazione arriverebbero (facendo una mget *.estensione) tutti i file anche quelli non desiderati, condizione che aimè non può essere accettabile :( .
Esiste una maniera per andare ad intercettare un file del genere generando un batch?
Ciao e grazie a tutti
danyel175
02-08-2007, 17:25
nessuno?? :mc:
In teoria potresti recuperare i dati con un batch o con un file VBS sfruttando la data. Fammi un esempio del nome del file...
danyel175
03-08-2007, 09:58
Il file di oggi si chiama cosi:
20070802.zip come faccio a sfruttare la data se mi serve "quella di ieri?"
Considera che nella stessa cartella ci sono anche più giorni precedenti e a me interessa solo quello de giorno prima che poi è quello più recente.
Grazie
Ecco qua, questo lo devi infilare in un file con estensioen .vbs e si calcola il nome del file.
Dim d, s, nday, nmonth
d = DateAdd("d", -1, Now())
nday = Day(d)
If nday < 10 Then
nday = "0" & nday
End If
nmonth = Month(d)
If nmonth < 10 Then
nmonth = "0" & nmonth
End If
s = Year(d) & nmonth & nday & ".zip"
Dim oShell
Set oShell = WScript.CreateObject("WScript.shell")
oShell.run "getfile.bat " & s
Set oShell = Nothing
Il file batch ad esempio potrebbe essere qualcosa del genere, lo chiamo getfile.bat:
@echo off
rem Inserisco nome utente e password nel file di input, è importante che il primo comando abbia un solo >
echo nomeutente > ftpinput.txt
echo password >> ftpinput.txt
rem Inserisco i comandi per andare a recuperare il file
echo cd remotedir >> ftpinput.txt
echo get %1 >> ftpinput.txt
rem Inserisco il comando per chiudere il client ftp
echo quit >> ftpinput.txt
rem Eseguo il client ftp
ftp indirizzoserverftp < ftpinput.txt
rem Il tutto è terminato, inserisco una pausa per debug
pause
danyel175
03-08-2007, 14:06
Ok ci provo e ti faccio sapere, per il momento ti ringrazio molto!!!! :)
Ah ovviamente si poteva fare anche tutto con VBScript senza chiamare in causa il batch, ma non avevo voglia di andare a guardare come si scriveva sui file :stordita:
danyel175
03-08-2007, 16:23
Ok và benissimo così, l'ho provato e funziona tutto.
Grazie 1000 :ave: sei stato preziosissimissimo..... :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.