Eh bien, j'ai cherché une solution pour cela pendant un certain temps, sans aucun script, juste à partir du CLI. C'est comme ça que je le fais xD :
-
Naviguez vers le dossier à partir duquel vous voulez exécuter le script (l'important est que vous ayez des compléments de tabulation).
..\..\dir
-
Entourez maintenant l'emplacement de guillemets doubles, et à l'intérieur de ceux-ci ajoutez cd
pour que nous puissions invoquer une autre instance de powershell.
"cd ..\..\dir"
-
Ajouter une autre commande pour exécuter script séparée par ;
Avec est un séparateur de commande dans powershell.
"cd ..\..\dir\; script.ps1"
-
Enfin, exécutez-le avec une autre instance de powershell
start powershell "cd..\..\dir\; script.ps1"
Cela ouvrira une nouvelle fenêtre powershell, allez à ..\..\dir
courir script.ps1
et fermer la fenêtre.
Notez que " ;" sépare simplement les commandes, comme si vous les aviez tapées une par une, si la première échoue, la seconde s'exécutera, puis la suivante, puis la suivante... Si vous voulez garder une nouvelle fenêtre powershell ouverte, ajoutez -noexit dans la commande passée. Notez que j'ai d'abord navigué vers le dossier désiré afin de pouvoir utiliser les compléments de tabulation (vous ne pouvez pas le faire entre guillemets).
start powershell "-noexit cd..\..\dir\; script.ps1"
Utilisez les guillemets ""
ainsi vous pourriez passer des répertoires avec des espaces dans les noms, par exemple,
start powershell "-noexit cd '..\..\my dir'; script.ps1"