Question
recherche fichier de moins de X jours
- jisak
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 7 ans 11 mois #25334
par jisak
recherche fichier de moins de X jours a été créé par jisak
Bonjour, alors voila je débute en powershell
Mon but est de chercher des mot clés dans plusieurs fichiers dans un dossier
J'essaye de trouver les fichiers créer dans les moins de 7 jours
$Date=(Get-Date).Addday(-7)
Sauf que cette fonction est faite pour chercher les fichiers de PLUS de 7 jours et non dans les 7 jours
Avez-vous une idée ?
Merci d'avance
Message édité par: jisak, à: 20/04/18 12:30<br><br>Message édité par: jisak, à: 20/04/18 12:31
Mon but est de chercher des mot clés dans plusieurs fichiers dans un dossier
J'essaye de trouver les fichiers créer dans les moins de 7 jours
$Date=(Get-Date).Addday(-7)
Sauf que cette fonction est faite pour chercher les fichiers de PLUS de 7 jours et non dans les 7 jours
Avez-vous une idée ?
Merci d'avance
Message édité par: jisak, à: 20/04/18 12:30<br><br>Message édité par: jisak, à: 20/04/18 12:31
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 7 ans 11 mois #25341
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:recherche fichier de moins de X jours
Salut,
tu dois filtrer le fichiers dans un intervalle.
Un début :
[code:1]
.{
$EndDate=get-date
$StartDate=$EndDate.Adddays(-7)
#sans la partie heure
$EndDate=$EndDate.Adddays(1).Date
$StartDate=$StartDate.Date
$fichiers= dir
$fichiers|sort LastWriteTime -Descending
Write-host ('Fichier entre le {0} et le {1}' -F $StartDate.ToShortDateString(), $EndDate.Adddays(-1).ToShortDateString())
$fichiers|where {($_.LastWriteTime -ge $StartDate) -and ($_.LastWriteTime -lt $EndDate)}
}
[/code:1]
A tester
tu dois filtrer le fichiers dans un intervalle.
Un début :
[code:1]
.{
$EndDate=get-date
$StartDate=$EndDate.Adddays(-7)
#sans la partie heure
$EndDate=$EndDate.Adddays(1).Date
$StartDate=$StartDate.Date
$fichiers= dir
$fichiers|sort LastWriteTime -Descending
Write-host ('Fichier entre le {0} et le {1}' -F $StartDate.ToShortDateString(), $EndDate.Adddays(-1).ToShortDateString())
$fichiers|where {($_.LastWriteTime -ge $StartDate) -and ($_.LastWriteTime -lt $EndDate)}
}
[/code:1]
A tester
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jisak
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 7 ans 11 mois #25343
par jisak
Réponse de jisak sur le sujet Re:recherche fichier de moins de X jours
Merci beaucoup, cela fonctionne !
Maintenant il me suffit de chercher un dossier spécifique avec une extension. Je cherche un peu de mon coté et je reviens pour la suite
Maintenant il me suffit de chercher un dossier spécifique avec une extension. Je cherche un peu de mon coté et je reviens pour la suite
Connexion ou Créer un compte pour participer à la conversation.
- jisak
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 7 ans 11 mois #25344
par jisak
Réponse de jisak sur le sujet Re:recherche fichier de moins de X jours
Et voilà ça avance 
[code:1]
$EndDate=get-date
$StartDate=$EndDate.Adddays(-7)
$EndDate=$EndDate.Adddays(1).Date
$StartDate=$StartDate.Date
$fichiers= Get-ChildItem -Recurse -Path \"C:\*.txt\" | Select-String -pattern \"motclé\" | group path | select | Where-Object {!$_.PSIsContainer}
Write-host ('Fichier entre le {0} et le {1}' -F $StartDate.ToShortDateString(), $EndDate.Adddays(-1).ToShortDateString())
$fichiers|sort LastWriteTime -Descending
$fichiers|where {($_.LastWriteTime -ge $StartDate) -and ($_.LastWriteTime -lt $EndDate)}
if ($fichiers.Contains('False'))
{
Write-Warning \"aucun résultat\"
\"$($fichiers.False)\"
#envoi à (destinataire)
$To = \"adresse@mail\"
#Titulaire du message
$From =\"adress@mail\"
$Subject = \"aucun résultat\"
$SmtpServer = \"smtp\"
$body = \"Bonjour, <br> <br> aucun resultat
Send-MailMessage -to $To -From $From -Subject $Subject -SmtpServer $SmtpServer -BodyAsHtml $body -Encoding $encoding -Priority high
echo \"Erreur lors du check\"
}
}[/code:1]
Le but étant d'envoyer un mail lorsque aucun \"motclé\" à été trouvé sur les fichiers de moins de 7jours
Le probleme étant que l'option de recherche \"motclé\" prend en compte les fichiers de plus de 7jours
D'autre part, le if ne prend pas en compte la condition. J'ai du faire une erreur de fonction<br><br>Message édité par: jisak, à: 23/04/18 16:36
[code:1]
$EndDate=get-date
$StartDate=$EndDate.Adddays(-7)
$EndDate=$EndDate.Adddays(1).Date
$StartDate=$StartDate.Date
$fichiers= Get-ChildItem -Recurse -Path \"C:\*.txt\" | Select-String -pattern \"motclé\" | group path | select | Where-Object {!$_.PSIsContainer}
Write-host ('Fichier entre le {0} et le {1}' -F $StartDate.ToShortDateString(), $EndDate.Adddays(-1).ToShortDateString())
$fichiers|sort LastWriteTime -Descending
$fichiers|where {($_.LastWriteTime -ge $StartDate) -and ($_.LastWriteTime -lt $EndDate)}
if ($fichiers.Contains('False'))
{
Write-Warning \"aucun résultat\"
\"$($fichiers.False)\"
#envoi à (destinataire)
$To = \"adresse@mail\"
#Titulaire du message
$From =\"adress@mail\"
$Subject = \"aucun résultat\"
$SmtpServer = \"smtp\"
$body = \"Bonjour, <br> <br> aucun resultat
Send-MailMessage -to $To -From $From -Subject $Subject -SmtpServer $SmtpServer -BodyAsHtml $body -Encoding $encoding -Priority high
echo \"Erreur lors du check\"
}
}[/code:1]
Le but étant d'envoyer un mail lorsque aucun \"motclé\" à été trouvé sur les fichiers de moins de 7jours
Le probleme étant que l'option de recherche \"motclé\" prend en compte les fichiers de plus de 7jours
D'autre part, le if ne prend pas en compte la condition. J'ai du faire une erreur de fonction<br><br>Message édité par: jisak, à: 23/04/18 16:36
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 7 ans 11 mois #25346
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:recherche fichier de moins de X jours
Dans ce cas vérifie si le code proposé renvoi un résultat correct.
Ensuite vérifie l'appel de Select-String avec un jeu de test.
Ensuite vérifie l'appel de Select-String avec un jeu de test.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jisak
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 7 ans 10 mois #25361
par jisak
Réponse de jisak sur le sujet Re:recherche fichier de moins de X jours
... perdu<br><br>Message édité par: jisak, à: 28/05/18 07:48
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.045 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- recherche fichier de moins de X jours