2016-06-30 3 views
2

Ich habe eine Batch-Datei, die ftp alle Dateien in einem bestimmten Verzeichnis auf meinem Server, aber wenn es mit FTP gemacht wird, ändert sich das Datum der Datei erstellt. Kann ich das irgendwie beibehalten oder vielleicht zusammen mit dem Dateinamen verketten? Ich brauche diese Informationen für die weitere Verarbeitung.FTP-Dateien über CMD zusammen mit dem erstellten Datum

Hier ist mein Batch-Datei Code:

@echo off 
echo open *ip* >> temp.txt 
echo *user* >> temp.txt 
echo *pass* >> temp.txt 
echo cd *directory* >> temp.txt 
echo lcd *localdirectory* >> temp.txt 
echo prompt no >> temp.txt 
echo mget *.q* >> temp.txt 
echo quit >> temp.txt 
ftp -s:temp.txt 
del temp.txt 
exit 

Antwort

1

Das in Windows integrierten FTP-Client (ftp.exe) nicht Zeitstempel der Remote-Datei erhalten, wenn (und umgekehrt) herunterladen.

Sie müssen einen anderen FTP-Client verwenden. Die meisten anderen FTP-Clients behalten den Zeitstempel bei.


Zum Beispiel mit WinSCP scripting die Datei folgenden Batch verwenden (download.bat):

winscp.com /ini=nul /log=download.log /command^
    "open ftp://user:[email protected]/"^
    "cd /directory"^
    "lcd c:\localdirectory"^
    "get *.q*"^
    "exit" 

Siehe auch Converting Windows FTP script to WinSCP script.

Sie können auch WinSCP generate the script file or even the batch file for you haben.

(ich bin der Autor von WinSCP)

+0

Cool, sieht gut aus, aber das Problem ist, dass ich es für eine Web-Anwendung verwenden, und ich kann meinen Mandanten nicht gehen um zu fragen einen winscp habe auf sein Server. Kann ich das irgendwie anders machen? –

+0

Warum verwenden Sie "ftp.exe" sogar in einer Webanwendung? In welcher Sprache befindet sich Ihre Webanwendung? –

+0

Es ist in Java geschrieben. Ich benutze ftp.exe nicht direkt, sondern trigge es durch eine Batch-Datei auf meinem Windows-Server –

Verwandte Themen