Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo
Il più recente robot per la pulizia domestica di Dreame, modello Aqua10 Ultra Roller, abbina un potente motore di aspirazione della polvere a un sofisticato sistema di lavaggio con rullo integrato. Il tutto governato dalla logica di intelligenza artificiale, per i migliori risultati
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti
Siamo volati fino a Belfast, capitale dell'Irlanda Del Nord, per scoprire il nuovo Realme 15 Pro 5G Game Of Thrones Limited Edition. Una partnership coi fiocchi, quella tra Realme e HBO, un esercizio di stile davvero ben riuscito. Ma vi raccontiamo tutto nel nostro articolo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo
Il Gigabyte Gaming A16 offre un buon equilibrio tra prestazioni e prezzo: con Core i7-13620H e RTX 5060 Laptop garantisce gaming fluido in Full HD/1440p e supporto DLSS 4. Display 165 Hz reattivo, buona autonomia e raffreddamento efficace; peccano però le USB e la qualità cromatica del pannello. Prezzo: circa 1200€.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-06-2006, 10:26   #1
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
VB, cancellare file vecchi?

ciao
dovrei cancellare periodicamente dei file da una cartella, ad esempio tutti quelli che hanno più di due settimane,
ho trovato questo script che però cancella le dir...
qualcuno gentilmente saprebbe modificarlo in modo che cancelli i file? io non so programmare...
grazie a tutti a buon rendere
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 11:09   #2
Stiwy.NET
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 611
Dim i, fso, f, f1,f2, sf, BasePath, CalcResult, fNameArray()
BasePath = "D:\Reports"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(BasePath)
Set sf = f.SubFolders
For Each f1 in sf
For Each f2 in f1.getFile 'Oppure una funzione simile,non ricordo
CalcResult = DateDiff("d",f1.DateCreated,Now)
if CalcResult > 2 then
ReDim preserve fNameArray(i)
fNameArray(i) = f1.Name
i = i + 1
end if
Next

For Each fName in fNameArray
FSO.DeleteFile(BasePath & "\" & fName)
Next
Stiwy.NET è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 11:15   #3
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
grazie, ma mi da un errore "previsto next"
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 11:28   #4
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Questo che ho appena fatto e provato, funziona:

Codice:
' ATTENZIONE CHE I FILE SARANNO CANCELLATI DEFINITIVAMENTE
' NON ANDRANNO NEL CESTINO!!!


' directory principale (MODIFICARE IL PERCORSO)
path = "c:\AAA"

' cancella file più vecchi di 7 giorni (MODIFICARE IL N°)
killdate = date() - 7

arFiles = Array()
set fso = createobject("scripting.filesystemobject")

' sub che cancella i file; il 4° parametro indica se analizzare anche le sottodirectory
' se SI allora scrivere true, se NO allora scrivere false
SelectFiles path, killdate, arFiles, true

nDeleted = 0
for n = 0 to ubound(arFiles)
  on error resume next
  arFiles(n).delete true
  if err.number <> 0 then
    wscript.echo "Impossibile cancellare: " & arFiles(n).path
  else
    nDeleted = nDeleted + 1
  end if
  on error goto 0
next

msgbox nDeleted & " di " & ubound(arFiles)+1 & " file vecchi cancellati"

sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
  on error resume next
  set folder = fso.getfolder(sPath)
  set files = folder.files

  for each file in files
    dtlastmodified = null
    on error resume Next
    dtlastmodified = file.datelastmodified
    on error goto 0
    if not isnull(dtlastmodified) Then
      if dtlastmodified < vKillDate then
        count = ubound(arFilesToKill) + 1
        redim preserve arFilesToKill(count)
        set arFilesToKill(count) = file
      end if
    end if
  next

  if bIncludeSubFolders then
    for each fldr in folder.subfolders
      SelectFiles fldr.path,vKillDate,arFilesToKill,true
    next
  end if
end sub
Modificare dove ho scritto ... ovvero il percorso della directory, il numero dei giorni e nella chiamata alla sub modificare il 4° parametro (true o false a seconda se si vuole analizzare anche le sottodirectory).
Salva il file come .vbs ...
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 11:29   #5
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Quote:
Originariamente inviato da Stiwy.NET
Dim i, fso, f, f1,f2, sf, BasePath, CalcResult, fNameArray()
BasePath = "D:\Reports"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(BasePath)
Set sf = f.SubFolders
For Each f1 in sf
For Each f2 in f1.getFile 'Oppure una funzione simile,non ricordo
CalcResult = DateDiff("d",f1.DateCreated,Now)
if CalcResult > 2 then
ReDim preserve fNameArray(i)
fNameArray(i) = f1.Name
i = i + 1
end if
Next
Next

For Each fName in fNameArray
FSO.DeleteFile(BasePath & "\" & fName)
Next
Dimenticato il Next in grassetto ...
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 11:39   #6
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
Quote:
Originariamente inviato da mynos79
Questo che ho appena fatto e provato, funziona:

Codice:
' ATTENZIONE CHE I FILE SARANNO CANCELLATI DEFINITIVAMENTE
' NON ANDRANNO NEL CESTINO!!!


' directory principale (MODIFICARE IL PERCORSO)
path = "c:\AAA"

' cancella file più vecchi di 7 giorni (MODIFICARE IL N°)
killdate = date() - 7

arFiles = Array()
set fso = createobject("scripting.filesystemobject")

' sub che cancella i file; il 4° parametro indica se analizzare anche le sottodirectory
' se SI allora scrivere true, se NO allora scrivere false
SelectFiles path, killdate, arFiles, true

nDeleted = 0
for n = 0 to ubound(arFiles)
  on error resume next
  arFiles(n).delete true
  if err.number <> 0 then
    wscript.echo "Impossibile cancellare: " & arFiles(n).path
  else
    nDeleted = nDeleted + 1
  end if
  on error goto 0
next

msgbox nDeleted & " di " & ubound(arFiles)+1 & " file vecchi cancellati"

sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
  on error resume next
  set folder = fso.getfolder(sPath)
  set files = folder.files

  for each file in files
    dtlastmodified = null
    on error resume Next
    dtlastmodified = file.datelastmodified
    on error goto 0
    if not isnull(dtlastmodified) Then
      if dtlastmodified < vKillDate then
        count = ubound(arFilesToKill) + 1
        redim preserve arFilesToKill(count)
        set arFilesToKill(count) = file
      end if
    end if
  next

  if bIncludeSubFolders then
    for each fldr in folder.subfolders
      SelectFiles fldr.path,vKillDate,arFilesToKill,true
    next
  end if
end sub
Modificare dove ho scritto ... ovvero il percorso della directory, il numero dei giorni e nella chiamata alla sub modificare il 4° parametro (true o false a seconda se si vuole analizzare anche le sottodirectory).
Salva il file come .vbs ...
sembra perfetto, si può togliere il messaggio che da quando cancella i file?
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 11:43   #7
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Basta cancellare questa riga:

Codice:
msgbox nDeleted & " di " & ubound(arFiles)+1 & " file vecchi cancellati"
Attento che c'è un altro messaggio poco sopra che viene fuori quando un file da cancellare è occupato dal sistema o da qualche applicazione e quindi impossibile da cancellare ... in caso lo vuoi togliere basta che cancelli le seguenti righe:

Codice:
  if err.number <> 0 then
    wscript.echo "Impossibile cancellare: " & arFiles(n).path
  else
    nDeleted = nDeleted + 1
  end if
Ma ti consiglio di tenere quest' ultimo ... tanto esce sulla console ... almeno in caso di errori sai quali file non ha cancellato.
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino

Ultima modifica di mynos79 : 19-06-2006 alle 11:46.
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 11:51   #8
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
Quote:
Originariamente inviato da mynos79
Basta cancellare questa riga:

Codice:
msgbox nDeleted & " di " & ubound(arFiles)+1 & " file vecchi cancellati"
Attento che c'è un altro messaggio poco sopra che viene fuori quando un file da cancellare è occupato dal sistema o da qualche applicazione e quindi impossibile da cancellare ... in caso lo vuoi togliere basta che cancelli le seguenti righe:

Codice:
  if err.number <> 0 then
    wscript.echo "Impossibile cancellare: " & arFiles(n).path
  else
    nDeleted = nDeleted + 1
  end if
Ma ti consiglio di tenere quest' ultimo ... tanto esce sulla console ... almeno in caso di errori sai quali file non ha cancellato.
al primo ci ero arrivato ad intuito..
ancora grazie mille e a buon rendere
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 13:43   #9
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
volevo utilizzare un singolo script da utilizzare su più
directory ma aggiungere un secondo percorso non funziona....
tipo
path = "c:\AAA"
path = "c:\BBB"

esegue l'operazione solo sulla dir BBB... è normale?
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 14:16   #10
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
E' normale
In quanto prima assegni alla variabile path la stringa "C:\AAA" e poi le riassegni la stringa C:\BBB ... in pratica gli sovrascrivi il valore e quindi lui considera solo il secondo.

Per passare più directory bisogna modificare il programma ...
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 14:37   #11
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
Quote:
Originariamente inviato da mynos79
E' normale
In quanto prima assegni alla variabile path la stringa "C:\AAA" e poi le riassegni la stringa C:\BBB ... in pratica gli sovrascrivi il valore e quindi lui considera solo il secondo.

Per passare più directory bisogna modificare il programma ...
ok domanda da ignorante..
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 14:41   #12
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Codice:
' ATTENZIONE CHE I FILE SARANNO CANCELLATI DEFINITIVAMENTE
' NON ANDRANNO NEL CESTINO!!!

dim path()
' cambiare il numero con il numero massimo di percorsi inseriti
redim path(3)
' directory principale (MODIFICARE IL PERCORSO) e cambiare l'indice
' l'indice va da 0 al numero dei percorsi meno 1
path(0) = "c:\AAA"
path(1) = "c:\BBB"
path(2) = "c:\CCC"

' cancella file più vecchi di n giorni (MODIFICARE IL N°)
killdate = date() - 7

arFiles = Array()
set fso = createobject("scripting.filesystemobject")

for each p in path
' cambiare il 4° parametro con 'true' o 'false' se si vuole o meno
' ciclare le sottocirectory
  SelectFiles p, killdate, arFiles, true
  for n = 0 to ubound(arFiles)
    on error resume next
    arFiles(n).delete true
  next
next

sub SelectFiles(sPath,vKillDate,arFilesToKill,bIncludeSubFolders)
  on error resume next
  set folder = fso.getfolder(sPath)
  set files = folder.files

  for each file in files
    dtlastmodified = null
    on error resume Next
    dtlastmodified = file.datelastmodified
    on error goto 0
    if not isnull(dtlastmodified) Then
      if dtlastmodified < vKillDate then
        count = ubound(arFilesToKill) + 1
        redim preserve arFilesToKill(count)
        set arFilesToKill(count) = file
      end if
    end if
  next

  if bIncludeSubFolders then
    for each fldr in folder.subfolders
      SelectFiles fldr.path,vKillDate,arFilesToKill,true
    next
  end if
end sub
Programma modificato ...
Le righe da modificare stavolta sono queste:

redim path(3) --> cambiare il 3 con il numero dei percorsi usati
...
path(0) = "c:\AAA" --> cambiare sia il percorso tra virgolette che il numero tra parentesi (gli indici vanno da 0 a n-1)
path(1) = "c:\BBB"
path(2) = "c:\CCC"
...
killdate = date() - 7 --> cambiare il 7 col numero dei giorni
...
SelectFiles p, killdate, arFiles, true --> cambiare il true con true o false a seconda se si vuole controllare anche le varie sottodirectory
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 19-06-2006, 14:42   #13
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Come vedi ho già tolto tutti i messaggi, anche quelli di errore visto che non ti servono.
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2006, 08:52   #14
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
ma sei troppo gentile!!! se passi da milano hai una birra offerta
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2006, 08:59   #15
mynos79
Senior Member
 
Iscritto dal: Jun 2005
Città: Mestre (VE)
Messaggi: 1415
Eh eh da buon veneto sempre disponibile alla bevuta ... potremmo invece sentirci per quella minimoto in vendita (ho un amico molto molto interessato che mi stressa da settimane per cercare qualche occasione su ebay o altrove). Tra oggi e domani ho modo di sentirlo e gli mostro la tua vendita; ti mando pvt se è interessato, magari ci passiamo il numero di telefono che ti chiama per maggiori informazioni.
__________________
IN WIN 909 / AMD Ryzen 9 3950X / Gigabyte X570 Aorus Xtreme / 4x8gb G.Skill 3200 / Gigabyte Aorus RTX2080Ti Xterme / 2x Gigabyte Aorus NVMe M.2 1Tb / Corsair AX1200i / full liquid EK - Bitspower / circa 160 trattative nel mercatino
mynos79 è offline   Rispondi citando il messaggio o parte di esso
Old 20-06-2006, 09:08   #16
Paolosnz
Senior Member
 
L'Avatar di Paolosnz
 
Iscritto dal: Apr 2004
Città: Milano
Messaggi: 3620
Quote:
Originariamente inviato da mynos79
Eh eh da buon veneto sempre disponibile alla bevuta ... potremmo invece sentirci per quella minimoto in vendita (ho un amico molto molto interessato che mi stressa da settimane per cercare qualche occasione su ebay o altrove). Tra oggi e domani ho modo di sentirlo e gli mostro la tua vendita; ti mando pvt se è interessato, magari ci passiamo il numero di telefono che ti chiama per maggiori informazioni.
ok quando vuoi...
ciao
Paolo
__________________

Nvidia Shield TV
Xbox One X
Intel Nuc10i7beh
Google Home Hub
QNAP HS-453DX
Raspberry 4 + Allo Boss Master
Paolosnz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Recensione Realme 15 Pro Game Of Thrones: un vero cimelio tech per pochi eletti Recensione Realme 15 Pro Game Of Thrones: un ver...
GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Laptop insieme per giocare al giusto prezzo GIGABYTE GAMING A16, Raptor Lake e RTX 5060 Lapt...
iPhone 17 Pro: più di uno smartphone. È uno studio di produzione in formato tascabile iPhone 17 Pro: più di uno smartphone. &Eg...
Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Football Manager 26 ottiene la licenza F...
Una nuova crisi dei chip minaccia l'auto...
Intel i386: 40 anni fa nasceva il proces...
Il creatore di Dead Space critica Elon M...
MrBeast lancia MrBeast Financial: il suo...
Una fotocamera dentro al water? Analizza...
In Giappone boom di lettori ottici: l'ef...
La Fire TV Stick 4K diventa 4K Plus: Ama...
REDMAGIC 11 Pro e Pro+ ufficiali: tanta ...
Gemini Live migliora ancora: ora l'AI pu...
Meta potenzierà il controllo pare...
iPhone 17 Pro cambia colore, e non &egra...
Non solo iPhone, iPad e Mac: ecco tutte ...
ROG Xbox Ally non potrà che migli...
Il Bonus Elettrodomestici sarà pr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:16.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v