FTP Download New Files

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
Jumpman
Posts: 5
Joined: 25 Oct 2011 11:15

FTP Download New Files

#1 Post by Jumpman » 25 Oct 2011 16:05

Hi, sorry my bad english.

I found this bat to get the latest files from my server to my local server, and it works very well, but it deletes all files after downloading files from remote server, I need it to not delete files that are created within last 24 hours and then delete all other files, can anyone help with this.

Code: Select all

@Echo Off

REM -- Define File Filter, i.e. files with extension .dem
Set FindStrArgs=/E /C:".dem"

REM -- Extract Ftp Script to create List of Files
Set "FtpCommand=ls"
Call:extractFileSection "[Ftp Script 1]" "-">"%temp%\%~n0.ftp"
Rem Notepad "%temp%\%~n0.ftp"

REM -- Execute Ftp Script, collect File Names
Set "FileList="
For /F "Delims=" %%A In ('"Ftp -v -i -s:"%temp%\%~n0.ftp"|Findstr %FindStrArgs%"') Do (
    Call Set "FileList=%%FileList%% "%%A""
)

REM -- Extract Ftp Script to download files that don't exist in local folder
Set "FtpCommand=mget"
For %%A In (%FileList%) Do If Not Exist "%%~A" Call Set "FtpCommand=%%FtpCommand%% "%%~A""
Call:extractFileSection "[Ftp Script 1]" "-">"%temp%\%~n0.ftp"
Rem Notepad "%temp%\%~n0.ftp"

For %%A In (%FtpCommand%) Do Echo.%%A

REM -- Execute Ftp Script, download files
ftp -i -s:"%temp%\%~n0.ftp"
Del "%temp%\%~n0.ftp"
GOTO:EOF


:extractFileSection StartMark EndMark FileName -- extract a section of file that is defined by a start and end mark
::                  -- [IN]     StartMark - start mark, use '...:S' mark to allow variable substitution
::                  -- [IN,OPT] EndMark   - optional end mark, default is first empty line
::                  -- [IN,OPT] FileName  - optional source file, default is THIS file
:$created 20080219 :$changed 20100205 :$categories ReadFile
:$source http://www.dostips.com
SETLOCAL Disabledelayedexpansion
set "bmk=%~1"
set "emk=%~2"
set "src=%~3"
set "bExtr="
set "bSubs="
if "%src%"=="" set src=%~f0&        rem if no source file then assume THIS file
for /f "tokens=1,* delims=]" %%A in ('find /n /v "" "%src%"') do (
    if /i "%%B"=="%emk%" set "bExtr="&set "bSubs="
    if defined bExtr if defined bSubs (call echo.%%B) ELSE (echo.%%B)
    if /i "%%B"=="%bmk%"   set "bExtr=Y"
    if /i "%%B"=="%bmk%:S" set "bExtr=Y"&set "bSubs=Y"
)
EXIT /b


[Ftp Script 1]:S
!Title Connecting...
open myhost.dk
my_username
my_password

!Title Preparing...
lcd E:\Dokumenter\Office\Server\autodemos\demos\gungameII
cd addons/sourcemod/logs/demos
binary
hash

!Title Processing... %FtpCommand%
%FtpCommand%

!Title Disconnecting...
disconnect
bye
Last edited by Jumpman on 06 Nov 2011 14:54, edited 1 time in total.

Jumpman
Posts: 5
Joined: 25 Oct 2011 11:15

Re: FTP Download New Files

#2 Post by Jumpman » 30 Oct 2011 11:35

Nobody can help with this ?

Jumpman
Posts: 5
Joined: 25 Oct 2011 11:15

Re: FTP Download New Files

#3 Post by Jumpman » 06 Nov 2011 14:58

I thought all the experts held to this forum

Post Reply