Avatar billede rossonero Nybegynder
20. november 2003 - 13:18 Der er 17 kommentarer og
1 løsning

Lave .Bat fil daglig

Håber der er nogen med lidt flair for god gammeldags programmering.

Jeg står og mangler en fil som hver dag rydder op i en mappe.

4 gange dagligt bliver der nemlig lagt en fil ind i en mappe. Hver fil fylder omkring 85 mb - så på en dag blive det jo omkring 400mb!!

Som sagt bliver der lagt filer ind hver dag i den mappe, og man ska manuelt ind og fjerne dem.

Jeg vil gerne have således, at der ligger maksimum 8 filer i den mappe (altså 2 dage...4 filer hver dag=8)

Sciptet skal altså gå ind og slette de filer som er ældre end 2 dage, sådan man undgår manuelt at skulle gå ind og fjerne dem!

Det ligger på en windows 2000 server, det er derfra kopieringen til netværket finder sted.
Avatar billede al1407 Nybegynder
20. november 2003 - 13:24 #1
En .bat fil kan ikke, alene, udføre det du gerne vil have, da der ikke kan checkes f.eks. en dato på en fil.

MEN .. man kan f.eks. lave noget med `grep' (en Linux/Unix kommando) for Windows, der kan finde dato/filnavn ud fra f.eks. en 'dir' listing.

Det burde kunne lade sig gøre .. *tænker*
Avatar billede rossonero Nybegynder
20. november 2003 - 13:39 #2
hmm .. en anden måde at stille det op på kunne måske være antal af filer i mappen... at hvis der pludselig er 12 filer, ska den slette de 4 ældste .....

Er der ikke også et eller andet specielt omkring en ny fils attribut ?
Avatar billede al1407 Nybegynder
20. november 2003 - 13:39 #3
Hmm .. nå .. det kunne man åbenbart ikke alligevel :/ ..
Avatar billede al1407 Nybegynder
20. november 2003 - 13:40 #4
Hvornår er en fil "ny" ? .. Det er den vel hele tiden ..
Avatar billede squashguy Nybegynder
20. november 2003 - 13:42 #5
du kan lave det som et vbscript..

sfolder = "d:\test"

Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(sfolder)
Set files = folder.Files

For Each f in files
    If DateDiff("d", f.DateCreated, Now()) > 2 Then
        'mere end 2 dage gammel
        f.Delete
    End If
Next
Avatar billede rossonero Nybegynder
20. november 2003 - 13:45 #6
hmm .. hvordan skal sådan en fil eksekveres i Windows ? ?? ;-)
Avatar billede squashguy Nybegynder
20. november 2003 - 13:47 #7
via scripting host.. indbygge i windows. schedule den til at køre dagligt..
Avatar billede squashguy Nybegynder
20. november 2003 - 13:48 #8
navngivn den enfil.vbs og så kører den
Avatar billede rossonero Nybegynder
20. november 2003 - 13:53 #9
hmm ok ... i eksemplet derop skal der selvfølgelig ændres på den foldre du angav .. men er resten sat op, således det burde køre ? .. kender intet til vbscript
Avatar billede squashguy Nybegynder
20. november 2003 - 13:58 #10
Den skulle kunne køre som den er. For at teste scriptet af, kan du prøve at oprette en temp mappe, og smide nogle filer over, og se om filerne bliver korrekt slettet..
Avatar billede rossonero Nybegynder
20. november 2003 - 14:09 #11
hmm .. jeg har kopieret ovenstående ind i en fil og gemt den som .vbs

Når jeg køre den kommer den med

Script: c:\enfil.vbs
linie: 4
tegn: 1
Fejl: stien blev ikke fundet
Avatar billede rossonero Nybegynder
20. november 2003 - 14:12 #12
nå ok .. glemte jo at ændre folder navnet .. så kommer der dog ingen fejl ... men mappen jeg har lagt filer over i sker der intet med ... alle filer bliver liggende
Avatar billede borrisholt Novice
20. november 2003 - 14:24 #13
Hvad med en exe fil ?

Jeg kan hurtigt lave en til dig !

Du vil naturligvis få fuld kilde kode med så du ved hvadder foregår.

Jens B
Avatar billede squashguy Nybegynder
20. november 2003 - 14:32 #14
okay.. det er jo så fordi DateCreated bliver ændret når du kopierer filerne over. Hvis du kører scriptet på de originale filer, men rigtig dato, så virker det.
Avatar billede Kengun Praktikant
20. november 2003 - 14:42 #15
Forsøk at sette datoen på din PC tilbage nogle dage og kopier så filerne over :) Dernest kører du den .vbs fil.
Avatar billede rossonero Nybegynder
20. november 2003 - 15:00 #16
SUPER .. det virker sku ... men squash du mangler dog at svare :-)
Avatar billede squashguy Nybegynder
20. november 2003 - 17:19 #17
ok :)
Avatar billede bertelbrander Novice
20. november 2003 - 20:02 #18
> al1407, man kan GODT lave det som en .bat-fil, se f.ex:

http://www.eksperten.dk/spm/423681
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester