Recenser dans une partition les fichiers modifiés il y a plus de 5 ans
3 réponses
lorafra
Bonjour,
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai
scripter ou avec un autre outil les fichiers modifi=E9s il y a plus de 5
ans en donnant un aper=E7u de la quantit=E9 =E0 archiver puis dans un secon=
d
temps de d=E9placer ces fichiers dans un dossier archive avec la m=EAme
construction de l'arborescence.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
magnum42
Bonjour,
Je n'ai pas trop le temps de vous trouver tout ca mais je vous propose mon petit script qui détruit les fichiers non utilisés depuis plus de 6 mois. A adapter et compléter donc, mais c'est un début. En espérant que ca aide ...
Option Explicit
Const CnbMonths = "6" 'Const cPath = "D:" 'Pour un lancement en local depuis le serveur 'Const cPath = "U:" Const cPath = "paris-srv12D$ftp"
Dim oMail,oFso,oFile,oRep Dim iNbFiles,vDate,nDateDiff Dim tExped,tDest,tObjet,sBody,tCopy,sName Dim oArgs Dim bAction_Mode
Set oArgs = WScript.Arguments tExped = "Destroyer" tDest = "" tCopy = "" tObjet = "Recherche de fichiers non modifiés depuis " & CnbMonths & " mois" iNbFiles = 0 bAction_Mode = True If(oArgs.Count=1) Then If(UCase(oArgs(0))="/GO") Then bAction_Mode = True End If End If
If(bAction_Mode) Then wscript.echo "Action Mode" Else wscript.echo "Simulation Mode" End If
'On Error Resume Next
Sub List_Files_in_Rep(tRep) wscript.echo tRep For each oFile in oFso.GetFolder(tRep).Files 'tExt = oFso.GetExtensionName(oFile.Name) vDate = oFile.DateLastModified nDateDiff = DateDiff("m",vDate,Date) 'wscript.echo oFile.DateLastModified & vbtab & DateDiff("m",Today(),oFile.DateLastModified) 'wscript.echo oFile.Name & vbtab & vDate & vbtab & nDateDiff If(nDateDiff >= 6) Then sName = oFile.Path wscript.echo vbtab & "ATTN : Destroy : " & oFile.Path & vbtab & oFile.DateLastModified On Error Resume Next err.Clear() If(bAction_Mode) Then oFso.DeleteFile oFile.Path,True If(err) Then sBody = sBody & "Could not destroy : " & sName & vbtab & err.Number & vbtab & err.Description & vbnewline Else sBody = sBody & "Destroyed : " & sName & vbtab & "(" & nDateDiff & " months old)" & vbnewline End If On Error GoTo 0 iNbFiles = iNbFiles + 1 Else 'wscript.echo vbtab & "Keep : " & oFile.Path & vbtab & oFile.DateLastModified End If Next For each oRep in oFso.GetFolder(tRep).SubFolders If(Len(oRep.Path)>%0) Then 'sBody = sBody & "ATTN : Path too long : " & oRep.Path & vbnewline wscript.echo vbtab & "ATTN : Path too long : " & oRep.Path Else 'wscript.echo oRep.Path List_Files_in_Rep(oRep.Path) End If Next Set oFile = Nothing Set oRep = Nothing End Sub
If not(bAction_Mode) Then sBody = sBody & vbnewline & vbnewline & "Etant en mode simulation, les résultats cités ici sont ceux trouvés à l'instant t" & _ vbnewline & "Lors du lancement ce soir, les fichiers peuvent être différents."
Set oFso = Nothing
wscript.echo "Send mail ??" If(iNbFiles<>0) Then 'Si on a trouvé au moins un fichier, on envoie un mail ! wscript.echo vbtab & "Yes, let's send a mail" Set oMail = CreateObject("CDO.Message" oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = IP_serveur_mai oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 oMail.Configuration.Fields.Update oMail.From = tExped oMail.To = tDest oMail.Cc = tCopy 'oMail.Bcc = tBcc oMail.Subject = tObjet oMail.Textbody = sBody oMail.Send Set oMail = Nothing Else wscript.echo "Nothing found. No need to send a mail" End If
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai scripter ou avec un autre outil les fichiers modifiés il y a plus de 5 ans en donnant un aperçu de la quantité à archiver puis dans un second temps de déplacer ces fichiers dans un dossier archive avec la même construction de l'arborescence.
Merci pour votre aide .
Bonjour,
Je n'ai pas trop le temps de vous trouver tout ca mais je vous propose mon
petit script qui détruit les fichiers non utilisés depuis plus de 6 mois.
A adapter et compléter donc, mais c'est un début.
En espérant que ca aide ...
Option Explicit
Const CnbMonths = "6"
'Const cPath = "D:" 'Pour un lancement en local depuis le serveur
'Const cPath = "U:"
Const cPath = "\paris-srv12D$ftp"
Dim oMail,oFso,oFile,oRep
Dim iNbFiles,vDate,nDateDiff
Dim tExped,tDest,tObjet,sBody,tCopy,sName
Dim oArgs
Dim bAction_Mode
Set oArgs = WScript.Arguments
tExped = "Destroyer"
tDest = "franck@..."
tCopy = "yann@..."
tObjet = "Recherche de fichiers non modifiés depuis " & CnbMonths & " mois"
iNbFiles = 0
bAction_Mode = True
If(oArgs.Count=1) Then
If(UCase(oArgs(0))="/GO") Then
bAction_Mode = True
End If
End If
If(bAction_Mode) Then
wscript.echo "Action Mode"
Else
wscript.echo "Simulation Mode"
End If
'On Error Resume Next
Sub List_Files_in_Rep(tRep)
wscript.echo tRep
For each oFile in oFso.GetFolder(tRep).Files
'tExt = oFso.GetExtensionName(oFile.Name)
vDate = oFile.DateLastModified
nDateDiff = DateDiff("m",vDate,Date)
'wscript.echo oFile.DateLastModified & vbtab &
DateDiff("m",Today(),oFile.DateLastModified)
'wscript.echo oFile.Name & vbtab & vDate & vbtab & nDateDiff
If(nDateDiff >= 6) Then
sName = oFile.Path
wscript.echo vbtab & "ATTN : Destroy : " & oFile.Path & vbtab &
oFile.DateLastModified
On Error Resume Next
err.Clear()
If(bAction_Mode) Then oFso.DeleteFile oFile.Path,True
If(err) Then
sBody = sBody & "Could not destroy : " & sName & vbtab & err.Number &
vbtab & err.Description & vbnewline
Else
sBody = sBody & "Destroyed : " & sName & vbtab & "(" & nDateDiff & "
months old)" & vbnewline
End If
On Error GoTo 0
iNbFiles = iNbFiles + 1
Else
'wscript.echo vbtab & "Keep : " & oFile.Path & vbtab &
oFile.DateLastModified
End If
Next
For each oRep in oFso.GetFolder(tRep).SubFolders
If(Len(oRep.Path)>%0) Then
'sBody = sBody & "ATTN : Path too long : " & oRep.Path & vbnewline
wscript.echo vbtab & "ATTN : Path too long : " & oRep.Path
Else
'wscript.echo oRep.Path
List_Files_in_Rep(oRep.Path)
End If
Next
Set oFile = Nothing
Set oRep = Nothing
End Sub
If not(bAction_Mode) Then sBody = sBody & vbnewline & vbnewline & "Etant en
mode simulation, les résultats cités ici sont ceux trouvés à l'instant t" & _
vbnewline & "Lors du lancement ce soir, les fichiers peuvent être
différents."
Set oFso = Nothing
wscript.echo "Send mail ??"
If(iNbFiles<>0) Then 'Si on a trouvé au moins un fichier, on envoie un mail !
wscript.echo vbtab & "Yes, let's send a mail"
Set oMail = CreateObject("CDO.Message"
oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") =
oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = IP_serveur_mai
oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMail.Configuration.Fields.Update
oMail.From = tExped
oMail.To = tDest
oMail.Cc = tCopy
'oMail.Bcc = tBcc
oMail.Subject = tObjet
oMail.Textbody = sBody
oMail.Send
Set oMail = Nothing
Else
wscript.echo "Nothing found. No need to send a mail"
End If
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai
scripter ou avec un autre outil les fichiers modifiés il y a plus de 5
ans en donnant un aperçu de la quantité à archiver puis dans un second
temps de déplacer ces fichiers dans un dossier archive avec la même
construction de l'arborescence.
Je n'ai pas trop le temps de vous trouver tout ca mais je vous propose mon petit script qui détruit les fichiers non utilisés depuis plus de 6 mois. A adapter et compléter donc, mais c'est un début. En espérant que ca aide ...
Option Explicit
Const CnbMonths = "6" 'Const cPath = "D:" 'Pour un lancement en local depuis le serveur 'Const cPath = "U:" Const cPath = "paris-srv12D$ftp"
Dim oMail,oFso,oFile,oRep Dim iNbFiles,vDate,nDateDiff Dim tExped,tDest,tObjet,sBody,tCopy,sName Dim oArgs Dim bAction_Mode
Set oArgs = WScript.Arguments tExped = "Destroyer" tDest = "" tCopy = "" tObjet = "Recherche de fichiers non modifiés depuis " & CnbMonths & " mois" iNbFiles = 0 bAction_Mode = True If(oArgs.Count=1) Then If(UCase(oArgs(0))="/GO") Then bAction_Mode = True End If End If
If(bAction_Mode) Then wscript.echo "Action Mode" Else wscript.echo "Simulation Mode" End If
'On Error Resume Next
Sub List_Files_in_Rep(tRep) wscript.echo tRep For each oFile in oFso.GetFolder(tRep).Files 'tExt = oFso.GetExtensionName(oFile.Name) vDate = oFile.DateLastModified nDateDiff = DateDiff("m",vDate,Date) 'wscript.echo oFile.DateLastModified & vbtab & DateDiff("m",Today(),oFile.DateLastModified) 'wscript.echo oFile.Name & vbtab & vDate & vbtab & nDateDiff If(nDateDiff >= 6) Then sName = oFile.Path wscript.echo vbtab & "ATTN : Destroy : " & oFile.Path & vbtab & oFile.DateLastModified On Error Resume Next err.Clear() If(bAction_Mode) Then oFso.DeleteFile oFile.Path,True If(err) Then sBody = sBody & "Could not destroy : " & sName & vbtab & err.Number & vbtab & err.Description & vbnewline Else sBody = sBody & "Destroyed : " & sName & vbtab & "(" & nDateDiff & " months old)" & vbnewline End If On Error GoTo 0 iNbFiles = iNbFiles + 1 Else 'wscript.echo vbtab & "Keep : " & oFile.Path & vbtab & oFile.DateLastModified End If Next For each oRep in oFso.GetFolder(tRep).SubFolders If(Len(oRep.Path)>%0) Then 'sBody = sBody & "ATTN : Path too long : " & oRep.Path & vbnewline wscript.echo vbtab & "ATTN : Path too long : " & oRep.Path Else 'wscript.echo oRep.Path List_Files_in_Rep(oRep.Path) End If Next Set oFile = Nothing Set oRep = Nothing End Sub
If not(bAction_Mode) Then sBody = sBody & vbnewline & vbnewline & "Etant en mode simulation, les résultats cités ici sont ceux trouvés à l'instant t" & _ vbnewline & "Lors du lancement ce soir, les fichiers peuvent être différents."
Set oFso = Nothing
wscript.echo "Send mail ??" If(iNbFiles<>0) Then 'Si on a trouvé au moins un fichier, on envoie un mail ! wscript.echo vbtab & "Yes, let's send a mail" Set oMail = CreateObject("CDO.Message" oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = IP_serveur_mai oMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 oMail.Configuration.Fields.Update oMail.From = tExped oMail.To = tDest oMail.Cc = tCopy 'oMail.Bcc = tBcc oMail.Subject = tObjet oMail.Textbody = sBody oMail.Send Set oMail = Nothing Else wscript.echo "Nothing found. No need to send a mail" End If
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai scripter ou avec un autre outil les fichiers modifiés il y a plus de 5 ans en donnant un aperçu de la quantité à archiver puis dans un second temps de déplacer ces fichiers dans un dossier archive avec la même construction de l'arborescence.
Merci pour votre aide .
Lotre
Bonjour,
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai scripter ou avec un autre outil les fichiers modifiés il y a plus de 5 ans en donnant un aperçu de la quantité à archiver puis dans un second temps de déplacer ces fichiers dans un dossier archive avec la même construction de l'arborescence.
Je ne serais pas surpris que deux lignes avec robocopy suffisent : Une pour tester Une pour agir
mais je suis sûr qu'il y a "ici" des utilisateurs chevronnés de cet outil qui sauront être plus précis
HB
Bonjour,
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai
scripter ou avec un autre outil les fichiers modifiés il y a plus de
5
ans en donnant un aperçu de la quantité à archiver puis dans un
second
temps de déplacer ces fichiers dans un dossier archive avec la même
construction de l'arborescence.
Je ne serais pas surpris que deux lignes avec robocopy suffisent :
Une pour tester
Une pour agir
mais je suis sûr qu'il y a "ici"
des utilisateurs chevronnés de cet outil
qui sauront être plus précis
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai scripter ou avec un autre outil les fichiers modifiés il y a plus de 5 ans en donnant un aperçu de la quantité à archiver puis dans un second temps de déplacer ces fichiers dans un dossier archive avec la même construction de l'arborescence.
Je ne serais pas surpris que deux lignes avec robocopy suffisent : Une pour tester Une pour agir
mais je suis sûr qu'il y a "ici" des utilisateurs chevronnés de cet outil qui sauront être plus précis
HB
Marc Lognoul [MVP]
Bonjour,
@Lotre: je suis d'accord avec toi concernant Robocopy: tester: utiliser le paramètre /L condition sur l'age: /MAXAGE ou /MAXLAD
-- Marc Lognoul [MCSE, MCTS, MVP] Heureux celui qui a pu pénétrer les causes secrètes des choses Happy is the one who could enter the secret causes of things Blog EN: http://www.marc-antho-etc.net/blog/ Blog FR: http://www.marc-antho-etc.net/blogfr/
"Lotre" wrote in message news:#
Bonjour,
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai scripter ou avec un autre outil les fichiers modifiés il y a plus de 5 ans en donnant un aperçu de la quantité à archiver puis dans un second temps de déplacer ces fichiers dans un dossier archive avec la même construction de l'arborescence.
Je ne serais pas surpris que deux lignes avec robocopy suffisent : Une pour tester Une pour agir
mais je suis sûr qu'il y a "ici" des utilisateurs chevronnés de cet outil qui sauront être plus précis
HB
Bonjour,
@Lotre: je suis d'accord avec toi concernant Robocopy:
tester: utiliser le paramètre /L
condition sur l'age: /MAXAGE ou /MAXLAD
--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/
"Lotre" <moi@pas.la.ici.invalid> wrote in message
news:#i1eabw5KHA.1924@TK2MSFTNGP06.phx.gbl...
Bonjour,
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai
scripter ou avec un autre outil les fichiers modifiés il y a plus de 5
ans en donnant un aperçu de la quantité à archiver puis dans un second
temps de déplacer ces fichiers dans un dossier archive avec la même
construction de l'arborescence.
Je ne serais pas surpris que deux lignes avec robocopy suffisent :
Une pour tester
Une pour agir
mais je suis sûr qu'il y a "ici"
des utilisateurs chevronnés de cet outil
qui sauront être plus précis
@Lotre: je suis d'accord avec toi concernant Robocopy: tester: utiliser le paramètre /L condition sur l'age: /MAXAGE ou /MAXLAD
-- Marc Lognoul [MCSE, MCTS, MVP] Heureux celui qui a pu pénétrer les causes secrètes des choses Happy is the one who could enter the secret causes of things Blog EN: http://www.marc-antho-etc.net/blog/ Blog FR: http://www.marc-antho-etc.net/blogfr/
"Lotre" wrote in message news:#
Bonjour,
Pour des raisons d'archivage d'un serveur de fichier, je souhaiterai scripter ou avec un autre outil les fichiers modifiés il y a plus de 5 ans en donnant un aperçu de la quantité à archiver puis dans un second temps de déplacer ces fichiers dans un dossier archive avec la même construction de l'arborescence.
Je ne serais pas surpris que deux lignes avec robocopy suffisent : Une pour tester Une pour agir
mais je suis sûr qu'il y a "ici" des utilisateurs chevronnés de cet outil qui sauront être plus précis