Question Supression de fichiers

Plus d'informations
il y a 6 ans 4 mois #24646 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Supression de fichiers
Hello !

Bien qu'il soit possible de comparer des dates avec les opérateurs, personnellement je préfère utiliser la commande New-TimeSpan.

Cette dernière permet de calculer un intervalle de temps entre deux dates.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 4 mois #24649 par Toper
Réponse de Toper sur le sujet Re:Supression de fichiers
OK.
Mais j'ai \"simplement\" besoin de savoir s'il y a des fichiers antérieurs à la date à laquelle je lance le script (pas de notion d'HH:mm:ss) pour pouvoir les supprimer :)

Powershell: la vie est belle :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 4 mois #24650 par Jpo
Réponse de Jpo sur le sujet Re:Supression de fichiers
Ce n'est pas juste un problème de date ? Regarde ce que je viens d'essayer :


[code:1]Get-ChildItem -Recurse -path \".\\" -Include \"*.pdf\" | foreach-Object {[/code:1]

Lien : puu.sh/yxhbk/3aa430eea1.png


Peut-être simplement bien reformater tes dates ?

Cordialement,
Jonathan

Message édité par: JPO91, à: 1/12/17 15:55

Message édité par: JPO91, à: 1/12/17 15:56<br><br>Message édité par: JPO91, à: 1/12/17 15:56

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 4 mois #24651 par Arnaud Petitjean
Réponse de Arnaud Petitjean sur le sujet Re:Supression de fichiers
Stop les gars ! On arrête tout et on recommence depuis le début :laugh: !!

Il ne faut pas comparer des variables de Type String avec des variable de type date (DateTime).

Comme dans ce très mauvais exemple :
[code:1]
PS &gt; $a = Get-Date
PS &gt; $a.ToString() -eq $a
False
[/code:1]

Il faut comprendre que PowerShell manipule en toutes circonstances des objets et non du texte comme les shells Unix ou CMD.

Ainsi le résultat de la commande Get-Date ou de la propriété LastWriteTime sur un fichier est un objet de type DateTime. Il ne faut donc pas essayer de convertir ce bel objet DateTime en chaine avec la méthode ToString sinon après on ne pourra plus comparer les dates entre elles.

Voici un exemple qui marche cette fois et retourne tous les fichiers de moins de 365 jours.

[code:1]
Get-ChildItem -File | Where-Object { ( (Get-Date) - $_.LastWriteTime).totaldays -lt 365 }[/code:1]

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 6 ans 4 mois #24652 par Toper
Réponse de Toper sur le sujet Re:Supression de fichiers
Il me semblait que c'était un pbm de date et j'étais parti sur un \&quot;.Tostring\&quot;....
Fausse route !
Merci, je vais tester ça lundi :)

Powershell: la vie est belle :)

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.077 secondes
Propulsé par Kunena