Question
Trier par créneaux horaires des fichiers
- Heslot
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 1 an 7 mois #31765
par Heslot
Trier par créneaux horaires des fichiers a été créé par Heslot
Bonjour,
J'ai un répertoire contenant des centaines de fichiers et je vous extraire ceux qui ont créé après 18h00 et avant 8h30 et entre 12h30 et 14h00.
Merci d'avance
J'ai un répertoire contenant des centaines de fichiers et je vous extraire ceux qui ont créé après 18h00 et avant 8h30 et entre 12h30 et 14h00.
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 1 an 7 mois - il y a 1 an 7 mois #31769
par Philippe
Réponse de Philippe sur le sujet Trier par créneaux horaires des fichiers
salut Heslot
on a pour habitude de ne pas faire le travail des autres mais plutot de leurs apprendre a sens sortir seul !
je vais donc t'expliquer ce dont tu as besoin.
d'abord la liste des fichier : Get-ChildItem suivi du nom du dossier à lister
exemple : Get-ChildItem "c:\windows"
pour avoir tous les fichiers du dossier windows
ensuite il te faut un filtre, ici on peut le faire a partir d'un where
exemple : Get-ChildItem "C:\Windows" | where {$_.Name -like "a*"}
pour avoir tous les fichiers qui commence par "a" du dossier windows
dans ton cas tu a besoin de filtrer sur l'heure, la propriété correspondante est LastWriteTime
exmple d'utilisation : Get-ChildItem "C:\Windows" | where {"{0:HH}:{0:mm}" -f ($_).LastWriteTime -ge "18:00"}
pour avoir tous les fichiers qui ont été créé après 18h du dossier windows
voila
il te reste plus cas faire des -or ou -and dans where pour avoir le bon resultat
tiens nous au courant et n'hésite pas à nous montrer ton code pour qu'on le corrige ensemble
on a pour habitude de ne pas faire le travail des autres mais plutot de leurs apprendre a sens sortir seul !
je vais donc t'expliquer ce dont tu as besoin.
d'abord la liste des fichier : Get-ChildItem suivi du nom du dossier à lister
exemple : Get-ChildItem "c:\windows"
pour avoir tous les fichiers du dossier windows
ensuite il te faut un filtre, ici on peut le faire a partir d'un where
exemple : Get-ChildItem "C:\Windows" | where {$_.Name -like "a*"}
pour avoir tous les fichiers qui commence par "a" du dossier windows
dans ton cas tu a besoin de filtrer sur l'heure, la propriété correspondante est LastWriteTime
exmple d'utilisation : Get-ChildItem "C:\Windows" | where {"{0:HH}:{0:mm}" -f ($_).LastWriteTime -ge "18:00"}
pour avoir tous les fichiers qui ont été créé après 18h du dossier windows
voila
il te reste plus cas faire des -or ou -and dans where pour avoir le bon resultat
tiens nous au courant et n'hésite pas à nous montrer ton code pour qu'on le corrige ensemble
Dernière édition: il y a 1 an 7 mois par Philippe.
Connexion ou Créer un compte pour participer à la conversation.
- Heslot
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 1 an 7 mois #31770
par Heslot
Réponse de Heslot sur le sujet Trier par créneaux horaires des fichiers
Bonjour,
Merci Philippe, of course, je préfère apprendre que de faire du copier/coller, en revanche j'ai trouvé des dizaines de pages internet qui traitent des scripts PowerShell mais pas du tout sur la recherche de fichiers par créneaux horaires donc pas trop expliqués. Anyway, voilà ce que j'ai testé et qui ne fonctionne pas
:
Get-ChildItem . | where {"{0:HH}:{0:mm}" -f ($_).LastWriteTime -ge "12:30" -and ($_).LastWriteTime -le "14:00"}
Merci Philippe, of course, je préfère apprendre que de faire du copier/coller, en revanche j'ai trouvé des dizaines de pages internet qui traitent des scripts PowerShell mais pas du tout sur la recherche de fichiers par créneaux horaires donc pas trop expliqués. Anyway, voilà ce que j'ai testé et qui ne fonctionne pas

Get-ChildItem . | where {"{0:HH}:{0:mm}" -f ($_).LastWriteTime -ge "12:30" -and ($_).LastWriteTime -le "14:00"}
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 169
- Remerciements reçus 35
il y a 1 an 7 mois - il y a 1 an 7 mois #31772
par ericlm128
Réponse de ericlm128 sur le sujet Trier par créneaux horaires des fichiers
- Pourquoi ne pas utiliser la propriété adéquate à la date de création CreationTime ?
- Pour ma part je n'aime pas travailler les dates et temps comme des chaines de caractères. Je préfère travailler une date comme une date ( DateTime ) et un temps comme un temps ( TimeSpan ).
- Si tu veux sélectionner que les fichiers et pas les dossiers il faut le préciser à la commande Get-ChildItem avec -File
PS : (New-TimeSpan -Hours 12 -Minutes 30) pourrait être remplacé par [TimeSpan]::new(12, 30, 0) qui me parait plus concis
- Pour ma part je n'aime pas travailler les dates et temps comme des chaines de caractères. Je préfère travailler une date comme une date ( DateTime ) et un temps comme un temps ( TimeSpan ).
- Si tu veux sélectionner que les fichiers et pas les dossiers il faut le préciser à la commande Get-ChildItem avec -File
Get-ChildItem -LiteralPath "C:\Windows" -File | Where-Object {$_.CreationTime.TimeOfDay -ge (New-TimeSpan -Hours 12 -Minutes 30) -and $_.CreationTime.TimeOfDay -lt (New-TimeSpan -Hours 14)}
PS : (New-TimeSpan -Hours 12 -Minutes 30) pourrait être remplacé par [TimeSpan]::new(12, 30, 0) qui me parait plus concis
Dernière édition: il y a 1 an 7 mois par ericlm128.
Connexion ou Créer un compte pour participer à la conversation.
- Heslot
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 1 an 7 mois #31774
par Heslot
Réponse de Heslot sur le sujet Trier par créneaux horaires des fichiers
Bonjour,
Merci Eric, effectivement cela me parait plus efficace et répond à mes attentes.
Merci Eric, effectivement cela me parait plus efficace et répond à mes attentes.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.055 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Trier par créneaux horaires des fichiers