IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Lister des fichiers dans un .txt


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2018
    Messages : 2
    Par défaut Lister des fichiers dans un .txt
    Bonjour à tous,

    Je suis actuellement en train d'apprendre le PowerShell et là je suis confronté à un problème: Je dois prendre la liste des fichiers du dossier C:\Users datant d'un mois et plus et les envoyés dans un fichier texte. J'ai tenté quelque chose et Voici mon code PowerShell:
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Remove-Item C:\Logs\ListeVieuxFichiers.txt
    New-item c:\Logs\ListeVieuxFichiers.txt
    $Dir Get-ChildItem -Path C:\Users | set-content > C:\Logs\ListeVieuxFichiers.txt

    Merci de votre aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Regarde les documentations :
    get-childitem
    set-content

    Pour lister tout le contenu de "C:\Users" ça sera donc : Get-ChildItem -LiteralPath "C:\Users" -Recurse

    Cette commande te retournera des dossiers de type System.IO.DirectoryInfo et des fichiers de type System.IO.FileInfo.
    On remarque que Powershell a ajouté une propriété PSIsContainer qui permet de les différenciés, nous allons nous en servir pour filtrer que les fichiers.
    Ce qui donne maintenant
    Get-ChildItem -LiteralPath "C:\Users" -Recurse | Where-Object {$_.PSIsContainer -eq $false}

    Concernant la date nous avons plusieurs définition possible de "vieux fichier" car plusieurs date sont à notre disposition dans fileinfo
    Date de création, de dernière modification et dernière accès au fichier. Je vais prendre modification.
    Nous voulons tous les fichiers qui date de plus d'un mois à compter d'aujourd'hui, je vais utiliser get-date pour la date du jour, il retourne un datetime
    Get-ChildItem -LiteralPath "C:\Users" -Recurse | Where-Object {$_.PSIsContainer -eq $false -and $_.LastWriteTime -le (Get-Date).AddMonths(-1)}

    Ici notre filtre est terminé mais l'affichage n'est peut être pas terrible nous souhaitons seulement afficher le nom complet des fichiers, ce sera donc la propriété FullName de fileinfo
    Pour réaliser la selection on utilisera select-object
    Get-ChildItem -LiteralPath "C:\Users" -Recurse | Where-Object {$_.PSIsContainer -eq $false -and $_.LastWriteTime -le (Get-Date).AddMonths(-1)} | Select-Object -ExpandProperty FullName

    Il ne reste plus qu'a sauvegarder le résultat avec set-content
    Get-ChildItem -LiteralPath "C:\Users" -Recurse | Where-Object {$_.PSIsContainer -eq $false -and $_.LastWriteTime -le (Get-Date).AddMonths(-1)} | Select-Object -ExpandProperty FullName | Set-Content -LiteralPath "C:\Logs\ListeVieuxFichiers.txt"

    PS : Voir aussi
    get-member afin de connaitre les types retournés.
    | select * permet d'afficher toutes les propriétés disponible.
    Se servir de la documentation Powershell ET du .NET Framework. Car PowerShell se sert essentiellement sur cette énorme bibliothèque.

Discussions similaires

  1. Problème pour lister des fichiers dans une interface
    Par sapristy dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 23/02/2010, 14h00
  2. [XML] Lister des fichiers dans des répertoires
    Par voxiz dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 16/02/2010, 16h25
  3. [c#] lister des fichiers dans une zone de liste !
    Par vto59 dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 14/01/2010, 14h51
  4. graver les routes des fichiers dans un 'txt'
    Par TARIK'S dans le forum Visual C++
    Réponses: 0
    Dernier message: 26/05/2009, 13h09
  5. Lister des fichiers dans un repertoire
    Par K.othmane dans le forum Langage
    Réponses: 1
    Dernier message: 23/12/2005, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo