[BAT] Automatisch oude bestanden verwijderen van FTP

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • chaoscontrol
  • Registratie: Juli 2005
  • Laatst online: 09:32
Hallo allemaal,

Ik ben bezig met een scriptje wat automatisch bestanden van een FTP omgeving moet verwijderen. Ik heb even op internet gekeken om het wiel niet voor de zoveelste keer uit te vinden en en heb een script gevonden wat zou moeten doen wat ik wil.

Ik heb het echter lopen aanpassen en krijg het niet werkend zoals ik dat wil/verwacht. Misschien dat iemand hier zo kan zien wat ik fout doe. Ik moet zeggen dat ik niet veel meer met batch-files doe sinds Win2000 (overgegaan op KIX) maar soms kom je er niet omheen! :)

ik heb nu het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
echo user USERNAME>ftpdir.txt
echo PASSWORD>>ftpdir.txt
echo cd anon_ftp >>ftpdir.txt
echo cd incoming >>ftpdir.txt
echo dir . ftplist.txt >>ftpdir.txt
echo quit>>ftpdir.txt
ftp -n -s:ftpdir.txt HOSTNAME

echo user USERNAME>ftpdel.txt
echo PASSWORD>>ftpdel.txt

for /f "tokens=6,7,8,*" %%a in (ftplist.txt) do (
    echo %%d
)

echo %%c %%a %%b - %%d
call :month %%a 
call :days %%c %month% %%b 

IF !days! GEQ 1 echo DEL %%d >>ftpdel.txt

echo quit>>ftpdel.txt
ftp -n -s:ftpdel.txt HOSTNAME
PAUSE


Hieruit krijg ik 3 bestanden:
FTPDIR.txt
code:
1
2
3
4
5
6
user USERNAME
PASSWORD
cd anon_ftp 
cd incoming 
dir . ftplist.txt 
quit


FTPLIST.txt
code:
1
2
3
4
-rw-r--r--   1 credittoolsinfo psacln          0 Jul 27 13:14 TESTFILE.txt
-rw-r--r--   1 credittoolsinfo psacln          0 Jul 27 13:14 TESTFILE2.txt
-rw-r--r--   1 credittoolsinfo psacln       1186 Jul 27 14:14 TESTFILE3.txt
drwxr-xr-x   2 root     psaserv      4096 Mar  4  2011 quotadir


En (hier gaat het mis) FTPDEL.txt
code:
1
2
3
user USERNAME
PASSWORD
quit


In deze laatste zou ik dan dus willen dat alle files ouder dan X dagen met een DEL ervoor. Dit zouden dan de bestanden zijn die verwijderd gaan worden.

Ik krijg alleen tijdens het draaien de volgende error en ik weet niet waarom.

code:
1
2
3
4
5
6
7
TESTFILE.txt
TESTFILE2.txt
TESTFILE3.txt
quotadir
%c %a %b - %d
The system cannot find the batch label specified - month
The system cannot find the batch label specified - days


Ik heb uiteraard al even lopen googlen maar mensen met dit probleem gebruiken over het algemeen de CALL verkeerd. Nu zal dat voor mij ook vast wel het geval zijn maar kan iemand dan misschien uitleggen waarom? :+

Inventaris - Koop mijn meuk!


Acties:
  • 0 Henk 'm!

  • Room42
  • Registratie: September 2001
  • Niet online
Wat is de bron van dit script? Want zo te zien mist er nog het een en ander, gezien de "The system cannot find the batch label specified - month" en "* days".

En wat is de exacte output van het script?

edit:
Dit zal je bron wel zijn? http://stackoverflow.com/...-on-ftp-older-than-x-days
Dan moet je daar toch even beter lezen wat ze schrijven. Je hebt nu klakkeloos de code overgenomen, maar dat werkt niet ;) Zie punt 4.

[ Voor 40% gewijzigd door Room42 op 27-07-2012 17:17 ]

"Technological advancements don't feel fun anymore because of the motivations behind so many of them." Bron


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Even terug langs af: ook met KIXscript kun je geen labels aanroepen zonder dat ze bestaan als standaard functie of eerder in je script.
En aangezien je dat niet hebt gedaan...

Doe es beter debuggen? :)

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device