---
title: "Skapa ett Windows CMD-script som raderar filer utifrån ett visst tidsvilkor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/132832-skapa-ett-windows-cmd-script-som-raderar-filer-utifrån-ett-visst-tidsvilkor"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "sgtpepper"
published: "2005-08-16T12:14:56.000Z"
updated: "2005-08-16T21:09:02.000Z"
replies: 4
views: 1155
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/132832-skapa-ett-windows-cmd-script-som-raderar-filer-utifrån-ett-visst-tidsvilkor"
---

# Skapa ett Windows CMD-script som raderar filer utifrån ett visst tidsvilkor

## #1 — sgtpepper, 2005-08-16T12:14Z

Jag behöver skriva ett cmd-script i Windows som skall rensa upp en katalog. Scriptet skall radera allt innehåll i en katalog som är äldre än det angivna antalet dagar.

Hur gör jag det? Hade jag haft tillgång till något Unix-shell eller kunnat skriva ett program i något lämpligt språk så hade det inte varit något problem, men nu är allt jag har Windows cmd.exe och den lämnar lite i övrigt att önska...

I Unix hade jag använt find med mtime-testswitchen och exec-actionswitchen för att köra rm-kommandot, men hur gör jag i Windows?

Och nej, jag kan inte installera Microsofts Unix Services, Cygwin eller något annat.

Hilfe!!

Permalänk: https://www.webforum.nu/p/132832

## #2 — sgtpepper, 2005-08-16T14:51Z

Men kom igen nu, finns det ingen duktig Windows-kille här? Skriver ni aldrig script?

Permalänk: https://www.webforum.nu/p/1657263

## #3 — Rikard, 2005-08-16T18:38Z

Kopiera följande text till en fil vid namn "deleteold.vbs". Spara filen i någon lämplig katalog.

```
Set objArgs = WScript.Arguments
FolderName =objArgs(0)
Days=objArgs(1)

set fso = createobject("scripting.filesystemobject")
set folder = fso.getfolder(FolderName)
datetoday = now()
newdate = dateadd("d", Days*-1, datetoday)
set files = folder.files
for each file in files
  if file.datelastmodified < newdate then
      on error resume next
      file.delete
  end if
next  
set files = nothing
```

För att exekvera skriptet:
cscript deleteold.vbs \[sökväg\] *n*

deleteold.vbs - sparar du inte filen i någon av systemkatalogerna får du även peta in sökväg först (C:\\Rikards_fjukfil\\deleteold.vbs)
\[sökväg\] = Katalogen där du vill rensa upp lite.
*n* är lämpligtvis antal dagar. ;)

Exempel:
cscript delteold.vbs C:\\fjukloggar 4

Exemplet rensar bort alla filer som är äldre än 4 dagar ur katalogen C:\\fjukloggar.

Permalänk: https://www.webforum.nu/p/1657355

## #4 — sgtpepper, 2005-08-16T19:52Z

Ah, briljant, ett VBS-script, det hade jag inte ens funderat på. Tackar så mycket!

Är det något särskilt som krävs av operativet, eller finns scripting-stödet alltid default i moderna Windows-installationer?

Permalänk: https://www.webforum.nu/p/1657388

## #5 — Rikard, 2005-08-16T21:09Z

cscript är en del av operativet.

Permalänk: https://www.webforum.nu/p/1657420

---

Tråden på webben: https://www.webforum.nu/amne/programmering/132832-skapa-ett-windows-cmd-script-som-raderar-filer-utifrån-ett-visst-tidsvilkor
