Forum » Operacijski sistemi » Batch skripta za brisanje map, starejših od X dni
Batch skripta za brisanje map, starejših od X dni
aljaz33 ::
Pozdravljeni,
Ker na internetu ne najdem nobene skripte, ki bi mi pobrisala mape in datoteke, ki jih te mape vsebujejo, se obračam na vas. Rad bi napisal BAT datoteko, ki bi mi pobrisala mape in datoteke, ki so v teh mapah, v določenem direktoriju, starejše od npr. 4 dni.
Na internetu sem našel ukaz forfiles, kateri pa mi pobriše le datoteke, mape pa ostanejo. Ker imam v direktoriju le mape, ki vsebujejo datoteke, potrebujem ukaz, ki mi bo pobrisal mape, skupaj z njihovo vsebino.
Hvala za vašo pomoč! :)
Ker na internetu ne najdem nobene skripte, ki bi mi pobrisala mape in datoteke, ki jih te mape vsebujejo, se obračam na vas. Rad bi napisal BAT datoteko, ki bi mi pobrisala mape in datoteke, ki so v teh mapah, v določenem direktoriju, starejše od npr. 4 dni.
Na internetu sem našel ukaz forfiles, kateri pa mi pobriše le datoteke, mape pa ostanejo. Ker imam v direktoriju le mape, ki vsebujejo datoteke, potrebujem ukaz, ki mi bo pobrisal mape, skupaj z njihovo vsebino.
Hvala za vašo pomoč! :)
- spremenil: aljaz33 ()
krneki0001 ::
Ukaz je RD - remove directory
Samo
Recimo tole ti pobriše mapo, vse podmape in vse datoteke v njih.
lahko tudi našteješ mape eno za drugo, pa bo vse pobrisalo:
Samo
RD c:\temp\ti bo pobrisalo mapo, če bo prazna
Recimo tole ti pobriše mapo, vse podmape in vse datoteke v njih.
RD <strong>/S</strong> c:\temp\
lahko tudi našteješ mape eno za drugo, pa bo vse pobrisalo:
RD /S C:\temp\ C:\dos\ "C:\Program Files"
SeMiNeSanja ::
Si poskusil poimenovati mape z *. ?
torej
forfiles /M *. /C ".............." /D ........
torej
forfiles /M *. /C ".............." /D ........
krneki0001 ::
Lahko pa uporabiš PowerShell in z Remove-Item pobrišeš tisto kar hočeš.
Function Brisi_Starejse_Od_X_Dni() { # prebereš današnji datum $Now = Get-Date # definiraš število dni za nazaj - konkretno briše vse kar je starejše od 10 dni $Days = "10" # našteješ target folderje $TargetFolder = @(C:\temp\,C:\DOS\,"c:\Program FIles") # našteješ extenzije datotek, ki bi jih rad brisal $Extension = @("*.zip","*.txt") # izračunaš datum do katerega boš brisal datoteke $LastWrite = $Now.AddDays(-$Days) # nabereš datoteke, ki jih boš brisal $Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where {$_.LastWriteTime -le "$LastWrite"} # for stavek za brisanje datotek foreach ($File in $Files) { if ($File -ne $NULL) { Remove-Item $File.FullName } } }
Zgodovina sprememb…
- spremenilo: krneki0001 ()
Xpie ::
Lahko bi pa uporabu tud kkšno takšno skripto v pythonu.
import os, time, sys def pobrisi(path, i): path = r"C:\Users\Uporabnik\Desktop\test" zdaj = time.time() for f in os.listdir(path): f = os.path.join(path, f) if os.stat(f).st_mtime < zdaj - i * 86400: if os.path.isfile(f): os.remove(f) return print("Pobrisano")
spletne-novice.si
Zgodovina sprememb…
- spremenil: Xpie ()
krneki0001 ::
Samo za python mora imet še kaj dodatno inštalirano. batch (cmd in bat) ali powershell sta pa že po default v windows okolju.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Powershell primerjaj in kopirajOddelek: Programiranje | 1056 (693) | Blisk |
» | program za pomoč pri tiskanju 200+pdf dokumentovOddelek: Pomoč in nasveti | 2288 (1340) | HotBurek |
» | SMB povezava Winows 10 s Synology NASOddelek: Operacijski sistemi | 3319 (2585) | dukedl |
» | Pretvorba skripte iz Powershell v BashOddelek: Operacijski sistemi | 1398 (1204) | c3p0 |
» | batch fajl iz txt (strani: 1 2 )Oddelek: Programiranje | 9699 (8360) | b3D_950 |