rekursiv

Per FTP mit Windows-Bordmitteln Unterverzeichnisse übertragen (rekursives FTP)

Was unter Linux kein Problem ist, stellt mit Windows-Bordmitteln eine nicht zu erreichende Hürde da: der Transfer von Ordnerstrukturen mit Hilfe des Kommandozeilen-Tools FTP (auch rekursives FTP genannt). Der eine oder andere Admin wird jetzt erstaunt sein, dass dies auch mit Batchdateien und FTP.EXE möglich ist. Dazu ist allerdings einiges an Batch-Know-How erforderlich. Batchdatei 1 (rftp.bat): @echo off rem ************************************************************ rem * Batchdatei zum rekursiven Übertragen von Dateien per FTP * rem * Adminbox.de, Version 08.12.09 * rem ************************************************************ rem Verzeichnisliste erstellen... mkdir c:\temp >nul rem Aufbau des FTP-Skriptes... echo open SERVER-IP >c:\temp\ftp.skr echo USER>>c:\temp\ftp.skr echo PASS>>c:\temp\ftp.skr echo prompt >>c:\temp\ftp.skr echo bin >>c:\temp\ftp.skr for /F %%I IN ('dir /b /s /ad') DO call c:\scripts\rftp_lib.bat %%I\* %%~pI%%~nI echo quit >>c:\temp\ftp.skr rem FTP-Verbindung aufbauen... ftp -s:C:\temp\ftp.skr Batchdatei 2 (rftp_lib.bat): @echo off rem *** Hilfsbatch für rftp.bat set rftp=%2 set rftp=%rftp:~1% echo mkdir %rftp% >>c:\temp\ftp.skr echo cd %rftp% >>c:\temp\ftp.skr echo mput %1 >>c:\temp\ftp.skr echo cd \>>c:\temp\ftp.skr Wie funktionieren diese Batchdateien? Zunächst wird durch die RFTP.BAT ein temporärer Ordner C:\TEMP erstellt. Ist dieser bereits vorhanden, kommt es zu einer Fehlermeldung, die getrost ignoriert werden kann (wer es eleganter mag, kann hier eine Überprüfung auf C:\TEMP\NUL durchführen,

Continue reading