Tutoriel avec des exemple pour afficher la liste des fichiers et dossiers en ligne de commande PowerShell.
Il est possible d’afficher la liste des fichiers et dossiers contenus dans un répertoire avec PowerShell. En effet, PowerShell est un outil puissant utilisé pour exécuter des commandes et des scripts dans des environnements Windows.
Bien que la copie de fichiers soit une tâche essentielle, la liste des fichiers, des dossiers et des sous-dossiers est tout aussi importante et peut être effectuée à l’aide de la commande Get-ChildItem de PowerShell. Ce tutoriel fournit un guide complet sur la liste des fichiers à l’aide de PowerShell.
Table of Contents
1. Liste des fichiers, dossiers et sous-dossiers avec PowerShell
Windows PowerShell fournit la commande Get-ChildItem, qui vous permet de lister les fichiers et les répertoires dans un chemin spécifié. Elle peut être combinée avec d’autres options et paramètres pour des tâches de liste plus complexes.
1.1 Liste basique des fichiers dans un dossier
Pour lister tous les fichiers et répertoires dans un dossier spécifique:
Get-ChildItem C:\WORK\Folder
1.2 Lister les fichiers et filtrer par extension
Par exemple, pour lister uniquement les fichiers texte identifiés par l’extension .txt
, utilisez le caractère générique et le txt dans le filtre, comme dans l’exemple ci-dessous:
Get-ChildItem C:\WORK\Folder -Filter "*.txt"
1.3 Exclure des éléments spécifiques par extension
Pour exclure certains fichiers, utilisez le même principe, comme dans la section précédente, mais cette fois avec le mot clé Exclude, comme les documents .docx
Word ci-dessous :
Get-ChildItem C:\WORK\Folder -Exclude "*.docx"
Explorez davantage comment gérer les fichiers à l’aide de PowerShell avec ce tutoriel sur comment copier récursivement les fichiers et dossiers de Windows.
2. Liste des fichiers et des dossiers avec leur attributs
PowerShell est un langage de script et une coquille puissants utilisés par les administrateurs pour automatiser les tâches sous Windows. Travailler avec les attributs de fichier dans PowerShell vous permet de gérer les propriétés du fichier comme la taille, le type, la date de création et les permissions de manière programmatique. Voici comment vous pouvez le faire :
2.1 Afficher la taille d’un fichier avec PowerShell
Vous pouvez récupérer la taille du fichier à l’aide de la cmdlet Get-Item
. Voici un exemple pour vérifier la taille du fichier sur le disque.
$file = Get-Item "C:\WORK\Folder\file.txt" $file.Length
Ceci renverra la taille du fichier en octets. Apprenez-en davantage sur la manipulation des tailles de fichier dans PowerShell.
2.2 Obtenir le type d’extension de fichiers
Vous pouvez identifier le type de fichier en vérifiant son extension. Le script ci-dessous, par exemple, renverra l’extension, dans ce cas, il s’agit de .jpg
.
$file = Get-Item "C:\WORK\Folder\image.jpg" $file.Extension
2.3 Script PowerShell pour obtenir la date de création d’un fichier
Vous pouvez récupérer la date de création d’un fichier en utilisant le code suivant:
$file = Get-Item "C:\WORK\Folder\file.txt" $file.CreationTime
Ceci renverra la date et l’heure de création. Découvrez d’autres méthodes pour trouver la date de création des fichiers dans PowerShell.
2.4 Travailler avec les permissions des fichiers et des dossiers
Vous pouvez gérer les permissions des fichiers à l’aide des cmdlets Get-Acl
et Set-Acl
. Voici un exemple de comment récupérer les permissions :
$acl = Get-Acl "C:\path\to\file.txt" $acl.Access
3. Combiner Get-ChildItem avec d’autres commandes PowerShell
Combinez Get-ChildItem avec d’autres cmdlets pour des opérations plus avancées. Par exemple, listez les fichiers et envoyez la liste via un pipe à une autre commande PS :
Get-ChildItem C:\WORK\Folder | ForEach-Object { /* Faire quelque chose avec chaque élément */ }
Conclusion sur le tutoriel pour lister fichiers et dossiers avec PowerShell
La liste des fichiers à l’aide de PowerShell fournit un moyen puissant de gérer et de manipuler les structures de fichiers dans Windows. La commande Get-ChildItem offre diverses options pour le filtrage, l’exclusion et le travail avec différents attributs, offrant une flexibilité pour différentes tâches. Pour aller plus loin, plongeons dans comment copier des fichiers de manière récursive à l’aide de PowerShell.
Bonjour je souhaiterez lister tous les fichiers d’un répertoire et sous répertoire mais en affichant le créateur, date création, date modification, taille et le chemin.
Comment puis-je procéder?
Merci par avance.
Bonjour,
Une solution serait d’utiliser un script comme celui-ci, il permet de récursivement récupérer la liste des fichiers, obtenir leur attributs, puis formater en tableau avant de rediriger dans un fichier texte encodé en UTF-8 (BOM).
# Remplacez par le chemin du répertoire à explorer et du fichier liste
$chemin = « C:\CheminVersDossier »
$fichierSortie = « C:\CheminVersFichier\liste.txt »
Get-ChildItem -Path $chemin -Recurse -File |
Select-Object FullName, CreationTime, LastWriteTime, Length, @{
Name = ‘Createur’
Expression = {
(Get-Acl $_.FullName).Owner
}
} | Format-Table -AutoSize | Out-File -FilePath $fichierSortie -Width 4096 -Encoding UTF8