2010-08-28 5 views
2

Je souhaite écrire un script PowerShell pour exécuter tous les fichiers d'un répertoire, par ordre alphabétique. Le problème est, je veux également exécuter chaque fichier dans le répertoire. Comment puis-je faire ce dernier morceau?Exécution de fichiers via Powershell

Merci

Répondre

2
gci | ?{$_ -is [io.fileinfo]} | ii 

Vous pouvez utiliser le paramètre de chemin de Get-ChildItem pour choisir le répertoire.

Mise à jour: Sélection limitée aux fichiers uniquement. Était tous les éléments dans un répertoire.

2

Utilisez get-childitem pour trouver tous les éléments dans le répertoire de votre choix. Vous pouvez ensuite convertir cette liste en une liste de chaînes où chaque chaîne est le nom d'un fichier. Ensuite, utilisez l'opérateur "&" pour exécuter chaque fichier.

I.E.

gci | select name | foreach-object { & $_.tostring() } 

quelque chose comme ça.

Voir: http://technet.microsoft.com/en-us/library/ee176949.aspx

0

J'utiliserais:

Get-ChildItem -filter *.exe | 
    Invoke-Item 

Vous avez demandé que les programmes dans un répertoire. La réponse IO.FileInfo ouvrira des documents Word ainsi que des programmes exécutés. Ainsi va la réponse avec &. Vous n'avez pas à trier par ordre alphabétique, car c'est ainsi que les fichiers reviennent de toute façon, mais vous pouvez placer un objet de tri au milieu si vous le souhaitez.

Espérons que cela aide,

Questions connexes