L'appel de PowerShell du lot, et de la récupération de la nouvelle valeur de temporaire de la variable d'environnement définie dans le script?

J'espère que le titre est concis, mais juste au cas où:

Je vais appeler un script PowerShell à partir d'un fichier de commandes. Je veux que le script PowerShell pour définir la valeur d'une variable d'environnement, et pour que la nouvelle valeur soit disponible dans le fichier de commandes lorsque le script PowerShell finitions.

Je sais qu'il est possible de définir une variable d'environnement à l'aide de $env dans PowerShell, mais la valeur n'est pas conservé lors de la PowerShell script se termine. J'imagine que c'est probablement parce que PowerShell est exécuté dans un processus séparé.

Je suis conscient que je peux renvoyer un code de sortie et d'utiliser %ErrorLevel%, mais qui ne fera que me donner des chiffres, et il y aura un conflit, depuis le 1 indique une PowerShell exception plutôt qu'une utile.

Maintenant, voici la mise en garde: je ne veux pas la variable d'environnement à persister. C'est, je ne veux pas qu'il soit défini pour l'utilisateur ou le système, et donc je veux qu'il soit indisponible dès que le fichier de commandes issues de secours. En fin de compte, j'ai simplement envie de communiquer les résultats à partir d'un script PowerShell pour l'appelant fichier de commandes.

Est-ce possible?

Merci d'avance 🙂

Nick

OriginalL'auteur Nicholas Hill | 2010-08-05