2010-06-27 2 views
0

peut PowerShell sur Windows par lui-même ou en utilisant un script shell simple, les fichiers de la liste et le répertoire ainsi: (ou sous Mac OS X ou le script shell d'Ubuntu)Peut PowerShell (ou script) sur Windows/Mac/Ubuntu liste de fichiers/structure de répertoire facilement?

audio 
    mp3 
    song1.mp3 
    some other song.mp3 
    audio books 
    7 habits.mp3 
video 
    samples 
    up.mov 
    cars.mov 

Unix de ls -R ou ls -lR ne peut pas sembler lister dans une structure d'arbre malheureusement.

+1

La question n'est pas complètement claire. PowerShell s'exécute sur Windows; Comment obtiendriez-vous sur Windows le résultat d'un script exécuté sur Mac? – kiamlaluno

Répondre

5

Vous pouvez utiliser tree.com pour la liste comme indenté comme indiqué ci-dessus. Notez que tree.com ne fonctionne qu'avec le système de fichiers. Si jamais vous avez besoin d'afficher la structure pour d'autres fournisseurs comme WSMan ou RegEdit, vous pouvez utiliser la fonction Show-Tree fournie avec le PowerShell Community Extensions.

1

Dans Linux, vous pouvez utiliser:

ls -R directory | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'

ou pour le répertoire courant:

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/' 

Vous pouvez mettre cette commande "petit" dans un script: look here

+0

hm ... en fait, je ne sais pas pourquoi mais ça ne marche pas sur Ubuntu 10.04 ... oh il semble ne répertorier que les dossiers, pas les fichiers individuels ... –

+0

Vous avez raison, il ne montre que des dossiers. Il pourrait être modifié pour afficher les fichiers aussi, mais je pense que vous êtes mieux en utilisant la commande de l'arbre suggéré. Je ne le savais pas quand j'ai suggéré cette ligne de commande ... Tree fonctionne parfaitement sur Lucid et répertorie les fichiers. (obs: vous ne pouvez utiliser que "tree" ou "tree folder", pas besoin de ls -R avant). – laurent

0

C'est probablement ce que vous cherchez:

ls -R | tree 

Ce n'est pas installé par défaut sur Ubuntu. Donc, pour l'installer:

sudo apt-get install tree 
+0

tree ne prend pas d'entrée de 'ls -R'. vous pouvez 'echo bonjour | arbre »et réaliser le même effet. –

+0

Ah, oui. Vous avez raison. = / –

1

Windows a une commande d'arbre:

C:\folder>tree . /F 
Folder PATH listing for volume sys 
Volume serial number is F275-CBCA 
C:\FOLDER. 
│ file01.txt 
│ 
├───Sub folder 
│  chart-0001.png 
│  chart-0002.png 
└───────chart-0004.png 

paramètre/F est ce qu'il dit pour afficher les fichiers. Vous pouvez l'exécuter à partir de Powershell

Questions connexes