Question
Définition et utilisation de variables \"systemes\"
- Laurent AQUATIAS
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 15 ans 2 mois #8983
par Laurent AQUATIAS
Voici mon probleme :
Je souhaite lancer un programme qui est configuré lors de son lancement par un fichier de paramétrage.
Ce fichier de paramétrage contient des variables qui (dans un cmd) sont définie dans le bat qui lance ce programme.
exemple de la commande DOS (cmd) complete:
[code:1]
lancer.bat application param.txt[/code:1]
lancer.bat contient :
[code:1]set application_name=App1.exe
set Settings_Dir=c:\Dir2
rem execution de application.exe avec param.txt comme parametre
%application% %2[/code:1]
Le fichier param.txt contient d'autres variables nécessaires au bon fonctionnement de l'application :
[code:1]App_Settings_Dir=%Settings_Dir%/User[/code:1]
Mon application doit utiliser la valeur définie dans App_Settings_Dir soit c:\dir2\User
Je cherche à faire la meme chose via un script powershell.
J'ai bien un début de script mais le résultat n'est pas concluant:
Pour que mon application (App1.exe) recupere les bonnes valeurs pour les variables definies dans le fichier param.txt
Je crée mes variables dans le script PS de lancement :lancer.ps1
[code:1]
$Code_Dir=\"$Base_Dir\"+\"\\"+$Code_Version+\"_\"+$Code_Suffixe+\"_\"+$HF_Level
$App_Settings_Dir=$Code_Dir+\"\\"+\"Settings01\"
$Win_Plateform=\"intel_a\"
$env:App_Settings_Dir=\"$App_Settings_Dir\"
$start_command =\"$Code_Dir\$Win_Plateform\App1.exe param.txt \"
Invoke-Expression $start_command[/code:1]
Mon application se lance bien mais son paramétrage n'est pas correcte.
(la variable App_Settings_dir ne contient pas la valeur déclarés dans param.txt)
Dans le prompt PS en faisant un env avant de lancer la commande, je vois [code:1]App_Settings_Dir=%Settings_Dir% [/code:1]
au lieu de
[code:1]App_Settings_Dir=c:\Dir2[/code:1]
Comment puis je faire pour que mon application récuperer les bonnes valeurs pour l'evaluation des varaibles définies dans le fichier param.txt
Merci d'avance pour le coup de main.
Lauradsl.
Je souhaite lancer un programme qui est configuré lors de son lancement par un fichier de paramétrage.
Ce fichier de paramétrage contient des variables qui (dans un cmd) sont définie dans le bat qui lance ce programme.
exemple de la commande DOS (cmd) complete:
[code:1]
lancer.bat application param.txt[/code:1]
lancer.bat contient :
[code:1]set application_name=App1.exe
set Settings_Dir=c:\Dir2
rem execution de application.exe avec param.txt comme parametre
%application% %2[/code:1]
Le fichier param.txt contient d'autres variables nécessaires au bon fonctionnement de l'application :
[code:1]App_Settings_Dir=%Settings_Dir%/User[/code:1]
Mon application doit utiliser la valeur définie dans App_Settings_Dir soit c:\dir2\User
Je cherche à faire la meme chose via un script powershell.
J'ai bien un début de script mais le résultat n'est pas concluant:
Pour que mon application (App1.exe) recupere les bonnes valeurs pour les variables definies dans le fichier param.txt
Je crée mes variables dans le script PS de lancement :lancer.ps1
[code:1]
$Code_Dir=\"$Base_Dir\"+\"\\"+$Code_Version+\"_\"+$Code_Suffixe+\"_\"+$HF_Level
$App_Settings_Dir=$Code_Dir+\"\\"+\"Settings01\"
$Win_Plateform=\"intel_a\"
$env:App_Settings_Dir=\"$App_Settings_Dir\"
$start_command =\"$Code_Dir\$Win_Plateform\App1.exe param.txt \"
Invoke-Expression $start_command[/code:1]
Mon application se lance bien mais son paramétrage n'est pas correcte.
(la variable App_Settings_dir ne contient pas la valeur déclarés dans param.txt)
Dans le prompt PS en faisant un env avant de lancer la commande, je vois [code:1]App_Settings_Dir=%Settings_Dir% [/code:1]
au lieu de
[code:1]App_Settings_Dir=c:\Dir2[/code:1]
Comment puis je faire pour que mon application récuperer les bonnes valeurs pour l'evaluation des varaibles définies dans le fichier param.txt
Merci d'avance pour le coup de main.
Lauradsl.
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 15 ans 2 mois #8984
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Définition et utilisation de variables \"systemes\"
Salut,
une solution :
[code:1]
$env:App_Settings_Dir=\"%Settings_Dir% /User\"
$env:«»Settings_Dir=\"c:\temp\"
$env:App_Settings_Dir
[System.environment]::ExpandEnvironmentVariables($env:App_Settings_Dir)
[/code:1]
une solution :
[code:1]
$env:App_Settings_Dir=\"%Settings_Dir% /User\"
$env:«»Settings_Dir=\"c:\temp\"
$env:App_Settings_Dir
[System.environment]::ExpandEnvironmentVariables($env:App_Settings_Dir)
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- jojo
-
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 187
- Remerciements reçus 0
il y a 15 ans 2 mois #8985
par jojo
Réponse de jojo sur le sujet Re:Définition et utilisation de variables \"systemes\"
Hello 
peux-être une autre solution:
[code:1]
Function Expand-Env($exvar)
{(New-Object -C WScript.Shell).ExpandEnvironmentStrings($exvar)}
$env:App_Settings_Dir=\"%Settings_Dir% /User\"
$env:«»Settings_Dir=\"c:\temp\"
Expand-Env($env:App_Settings_Dir)
\"variable: $(Expand-Env($env:App_Settings_Dir)) \"[/code:1]
peux-être une autre solution:
[code:1]
Function Expand-Env($exvar)
{(New-Object -C WScript.Shell).ExpandEnvironmentStrings($exvar)}
$env:App_Settings_Dir=\"%Settings_Dir% /User\"
$env:«»Settings_Dir=\"c:\temp\"
Expand-Env($env:App_Settings_Dir)
\"variable: $(Expand-Env($env:App_Settings_Dir)) \"[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Définition et utilisation de variables "systemes"