Appeler un script PowerShell PS1 depuis un autre script PS1 dans PowerShell ISE

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Appeler un script PowerShell PS1 depuis un autre script PS1 dans PowerShell ISE

Message par ForumBot »

Appeler un script PowerShell PS1 depuis un autre script PS1 dans PowerShell ISE

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Appeler un script PowerShell PS1 depuis un autre script PS1 dans PowerShell ISE

Message par ayi »

Pour exécuter un script dans le même répertoire.


Dans PowerShell 3.0 et ultérieur, vous pouvez utiliser la variable automatique $PSScriptRoot :


$PSScriptRoot/myScript1.ps1


Dans PowerShell 1.0 et 2.0, vous devez utiliser cette propriété spécifique :


& "$(Split-Path $MyInvocation.MyCommand.Path)/myScript1.ps1"


La raison pour laquelle vous devez utiliser cela et rien d’autre peut être illustrée avec ce script d’exemple.


## ScriptTest.ps1
Write-Host "InvocationName:" $MyInvocation.InvocationName
Write-Host "Path:" $MyInvocation.MyCommand.Path


Voici quelques résultats.


PS C:\Users\JasonAr> .\ScriptTest.ps1

InvocationName: .\ScriptTest.ps1

Path: C:\Users\JasonAr\ScriptTest.ps1


PS C:\Users\JasonAr> . .\ScriptTest.ps1

InvocationName: .

Path: C:\Users\JasonAr\ScriptTest.ps1


PS C:\Users\JasonAr> & “.\ScriptTest.ps1”

InvocationName: &

Path: C:\Users\JasonAr\ScriptTest.ps1


Dans PowerShell 3.0 et ultérieur, vous pouvez utiliser la variable automatique $PSScriptRoot :


## ScriptTest.ps1
Write-Host "Script:" $PSCommandPath
Write-Host "Path:" $PSScriptRoot


PS C:\Users\jarcher> .\ScriptTest.ps1

Script: C:\Users\jarcher\ScriptTest.ps1

Path: C:\Users\jarcher

Répondre

Revenir à « PowerShell »