2010-06-21 9 views
1

J'essaie de trouver toutes les instances de fichiers avec des noms comme VAT*.xls où la date de création est inférieure à 6 mois. J'ai essayé:Powershell 2 Sélectionnez et affichez le nom de fichier par création Date

dir c:\vat*.xls -r | ? {($now -$_.lastwritetime).days -lt 300} 

et

gci c:\vat*.xls -r | ? {($now -$_.lastwritetime).days -lt 300} 

Je sais qu'il ya un fichier VAT0210.xls en date du 1er Avril 2010, mais ni requête me donne cette réponse. Que devrait-il être?

Répondre

3

Je suis un peu confus de votre question. D'abord, vous écrivez que vous voulez obtenir des fichiers où la date de création date de moins de six mois, alors vous comparez avec LastWriteTime. Et puis vous dites que vous voulez six mois mais comparez avec 300 jours.

Je suis votre prose ici dans l'espoir que c'était la bonne.

Get-ChildItem C:\ -Recurse -Include vat*.xls | 
    Where-Object { $_.CreationTime -gt (Get-Date).AddMonths(-6) } 

Comme vous pouvez le voir, c'est assez simple. Réécrite avec des alias:

ls C:\ -r -i vat*.xls | ?{$_.CreationTime -gt (date).AddMonths(-6)} 

Si mon estimation initiale que pour vos intentions était incorrect, ne hésitez pas à adapter le code - devrait être trivial maintenant.

+0

Merci pour votre aide, Johannes. Es ist Jetzt Klar. – user523768

+0

@sluice: Vous pouvez accepter cette réponse alors. – Joey