Torna indietro   Hardware Upgrade Forum > Software > Programmazione

FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1
Dalla precisione estrema dei componenti alla gestione digitale dei processi: come la piattaforma ServiceNow consente ad Aston Martin Aramco Formula One Team di ottimizzare risorse IT e flussi operativi in un ambiente dove ogni millesimo di secondo conta
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


FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
Dreame Aqua10 Ultra Roller, la pulizia di casa con un rullo Dreame Aqua10 Ultra Roller, la pulizia di casa c...
Object First annuncia il nuovo Ootbi Min...
IA, workplace e sicurezza per guidare la...
Amazon chiarisce il blackout AWS del 20 ...
I browser agentici non sono ancora matur...
Monitor da sogno per gamer: Alienware QD...
Anche gli LLM possono "rimbecillirs...
Offerte DJI da non perdere: droni e vide...
Anche Redmi ha il suo Pro Max: arriver&a...
Nike Project Amplify, le scarpe che ti m...
LG OLED evo G5 da 48 pollici a soli 839€...
Ricoh ha anticipato l'arrivo di una nuov...
iPhone 17 Pro non ha rivali: la fotocame...
Leica M EV1: il futuro della fotografia ...
Passione retrò: arrivano THEC64 Mini Bla...
Google risolve il problema delle pause: ...
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: 19:38.


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