2016-01-21 2 views
1

J'utilise la ligne de commande Windows pour exporter une liste de tous les fichiers d'un répertoire, y compris le chemin complet. la commande est:Commande Powershell Get-ChildItem

DIR /b/s/n/a:-d/o:>"C:\Users\user\Desktop\file_list.txt"  
/b to list only files and folder with no additional information; 
/s to list all files within the subfolders;  
/n to list long names (here is my problem, it still list max. 255 char);  
/a:-d to not list directories without files;  
/o to sort files. 

Je voudrais exécuter une commande similaire sur PowerShell mais pour lister les fichiers de plus de 255 caractères.

Quelqu'un peut-il aider sur la commande?

Répondre

0
  1. Utilisez l'applet de commande Get-ChildItem avec le commutateur -recurse pour récupérer tous les fichiers et dossiers à partir d'un chemin d'accès spécifique.
  2. Utilisez Where-Object pour exclure tous les répertoires vides ($_.PSIsContainer est égal à true et le nombre de fichiers est supérieur à zéro).
  3. Utilisez Select-Object pour sélectionner le FullName des articles. Utilisez la cmdlet Out-File pour stocker le résultat dans un fichier.

Exemple:

Get-ChildItem C:\Users\ -recurse | 
    Where-Object {(($_.PSIsContainer -eq $false) -or (($_.PSIsContainer -eq $true) -and ($_.GetFiles().Count -gt 0)))} | 
    Select-Object FullName | 
    Out-File 'C:\Users\user\Desktop\file_list.txt'