coolmade
Goto Top

löschen von heruntergeladenen Dateien auf FTP server mit cmd

Hallo,

gibt es ein cmd script mit dem ich genau die Dateien die ich vom FTP Server heruntergeladen habe auf dem FTP Server löschen kann.
Da auf dem FTP Server immer neue Dateien geladen werden würde ich mit dem normalen FTP script (dele) auch evtl. Daten löschen die ich noch nicht heruntergeladen habe.

Bin für jede Hilfe dankbar.

Gruß

Martin

Content-ID: 114536

Url: https://administrator.de/contentid/114536

Ausgedruckt am: 15.11.2024 um 12:11 Uhr

77559
77559 23.04.2009 um 20:34:23 Uhr
Goto Top
Hallo coolmade,

unklar ist (mir) deiner Rede Sinn face-smile

Wenn du von einem bestimmten ftp-Script sprichst solltest Du es posten (wenigstens Ausschnitte).

Ansonsten kannst Du per Batch ein ftp-Script anstoßen und das Ergebnis auswerten und ggfs. automatisiert ein Lösch-script für die erfolgreich übetragenen Dateien generieren und dann ausführen.

Gruß
LotPings
coolmade
coolmade 24.04.2009 um 06:54:12 Uhr
Goto Top
open XXX.XXX.XXX.XXX
user bla
blabla
cd /verzeichnis
lcd D:\verzeichnis

mget *.*

bye

wenn ich nun weiter gehe mit

open XXX.XXX.XXX.XXX
user bla
blabla

cd /verzeichnis

mdele *.*

bye

würde es mir evtl. Dateien löschen die ich noch nicht transferiert habe, da auf FTP Seite immer neue Dateien gepollt werden

der ganze Job würde über scheduled tasks laufen

Leider bin ich relativ neu in dieser Materie.

Ein Löschscript würde sich gut anhören, aber wo fange ich an?
77559
77559 24.04.2009 um 11:51:31 Uhr
Goto Top
Hallo coolmade,

hat etwas gedauert, ich musste mir erstmal ein altes Musterscript heraussuchen und anpassen.

Habs bei mir erfolgreich getestet. Die Variablen am Anfang musst du natürlich anpassen.

::FtpMoveHere.cmd:::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off&setlocal EnableDelayedExpansion
set "Fts=%~n0.Fts"   &:: name ftp-script like this file extension=fts  
set "Ftl=%~n0.Ftl"   &:: name ftp-log like this file extension=log     
set "Ftf=%~n0.now"   &:: temp folder for files of this run  
set "Lcd=%USERPROFILE%\Desktop\" &:: local destination  
set "Rcd=whatever"   &:: Remote Dir   
set "Host=YourHost"  
set "User=You"  
::set /P Pass=Enter password for Host %Host% User %User% :
set "Pass=secret"  
if exist "%Ftf%" RD /Q "%Ftf% >NUL 2>&1  
MkDir "%Ftf%"  
DEl /Q %Fts% %Ftl% 1>NUL 2>&1

:: create and execute Ftp script to get files
Call :GenScript Get & FTP -v -i -s:"%Fts%" >"%Ftl%"  
if errorlevel 1 echo Problem errorlevel %errorlevel% &goto :eof
Type NUL>%FTS%

:: create and execute Ftp script to delete remote files
Call :GenScript Del & FTP -v -i -s:"%Fts%" >>"%Ftl%"  
Move "%Ftf%\*" "%Lcd%"  
:: do cleanup
::Del /Q "%~n0.f*" >Nul 2>&1  
Pause
goto :eof
:GenScript Action ----------------------------------------
>>%Fts% echo open %Host%
>>%Fts% echo/%User%
>>%Fts% echo/%Pass%
>>%Fts% echo/
>>%Fts% echo cd %Rcd%
>>%Fts% echo/
if /I %1==Get (
>>%Fts% echo lcd %Ftf%
>>%Fts% echo/mget *.*
>>%Fts% echo/
) Else (
for %%A in (%Ftf%\*) do >>%Fts% echo Delete %%~nxA
>>%Fts% echo/
)
>>%Fts% echo bye
>>%Fts% echo/
:: For documentation append script to log file
>>"%Ftl%" echo %time% %1-Script ------------------------------------  
Type "%Fts%" >> "%Ftl%"  
Goto :eof
::FtpMoveHere.cmd:::::::::::::::::::::::::::::::::::::::::::::::::::::

Gruß LotPings
coolmade
coolmade 24.04.2009 um 12:10:23 Uhr
Goto Top
Super,

danke erstmal, werde es ausprobieren.

Gruß

Martin
coolmade
coolmade 27.04.2009 um 07:47:55 Uhr
Goto Top
Danke, hat funktioniert !!!!!!