Bonjour à tous,
j'aurais besoin d'aide dans un script que je réalise. J'ai une arboresence de ce type :
Je voudrais pouvoir lister l'ensemble des fichiers .ps1 présents dans mon répertoire Script, et dans ses sous répertoires. Je veux afficher les données de cette forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 C:\Script\ |-fichier.ps1 |-Dossier1 |-fich.ps1 |-fich2.ps1 |-Dossier2 |-fich3.ps1
Néanmoins dans mon code, dans ma variable de fichier j'aimerais pouvoir stocker sois le chemin complet vers le fichier sois son dossier parent s'il n'est pas à la racine. Donc :1 - fichier.ps1
2 - fich.ps1
3 - fich2.ps1
4 - fich3.ps1
Tout ceci dans le but de pouvoir par la suite exécuter le fichier sélectionné par l'utilisateur. Je vous montre mon code actuel :fichier.ps1
Dossier1\fich.ps1
...etc
Comme vous pouvez le voir je liste uniquement les fichiers présents dans Scripts et non pas dans les dossiers. De plus je ne sais pas comment faire pour ne lister que les .ps1 .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 $i=1 $chemin = "C:\Scripts\" $Files = Get-ChildItem $chemin Write-Host "Liste des scripts presents : " foreach ($File in $Files) { Write-Host " " $i "- " $File $i++ } $ret=Read-Host "Quel fichier souhaitez vous executer ? " if(($ret -le $i) -and ($ret -ge 1)) { $rep=Read-Host "Etes vous sur de vouloir executer le fichier " $Files[$ret-1] " (O - N) ?" if(($rep -eq 'O') -and ($rep -eq 'o')) { Write-Host "Execution du fichier " $Files[$ret-1] $cmd = $chemin + $Files[$ret-1] Start-Process powershell.exe $cmd } else { Write-Host "Execution annulee" } } else { Write-Host "Le nombre saisi est incorrect" }
Si quelqu'un peut m'aider, merci beaucoup !
Partager