2017-06-13 3 views
1

Ich versuche, die neuesten Dateien, die in einer Stunde erstellt wurden, auf einen Remote-Server hochzuladen. Aber das Skript, das ich geschrieben habe, ist intelligent genug, um nur die neueste Datei im Verzeichnis zu sammeln und sie auf FTP hochzuladen. Gibt es eine Chance, den Variablentyp als Array festzulegen und die Dateien im Array hochzuladen?Hochladen von Dateien, die in der letzten Stunde generiert wurden, an FTP

Meine FTP-Batch-Datei:

FOR /F %%I IN ('DIR "abcdef*.bac" /B /O:D') DO SET latest_file=%%I 

echo user domain/username> ftp.txt 
echo password>> ftp.txt 
echo cd remotepath>> ftp.txt 
echo put %latest_file%>>ftp.txt 
echo quit>> ftp.txt 

ftp -n -s ftp.txt Servername>ftp_logs.txt 

del ftp.txt 
+0

Werfen Sie einen Blick auf [diese] (https://stackoverflow.com/questions/17605767/create-list-or-arrays-in- Windows-Batch) Post, könnte es Ihnen helfen, was Sie wollen. – dcg

Antwort

0

Es würde schwierig sein, diese Datei Code in einem reinen Batch zu schreiben.

Sie verwenden besser ein leistungsfähigeres Werkzeug.

Zum Beispiel mit WinSCP FTP client, es ist trivial:

winscp.com /ini=nul /log=upload.log /command^
    "open ftp://username:[email protected]/"^
    "put -filemask=>1H C:\local\path\abcdef*.bac /remote/path/"^
    "exit" 

Referenzen:

(ich bin der Autor von WinSCP)

+0

Aber ich kann nur normale Batch-Skript verwenden –

+0

Was verhindert, dass Sie andere Tools verwenden? –

Verwandte Themen