Question Paramétre de script (C:\program File(x86)\..

Plus d'informations
il y a 13 ans 3 mois #13256 par WOLFFER
Bonjour, a tous,

J'ai un script qui doit recevoir le chemin complet d'un fichier qu'il doit analyser. le fichier en question se trouve dans l'arborescence de \"C:\Program files\....\" sous une architecture 32 bits ou dans \"C:\Program file(x86)\....\" sur une architecture 64 bits. En 32 bits, aucun soucis, le script fonctionne correctement par contre en 64 bits pas moyen de le lancer, on ne rentre même pas dedans et me retourne le message d'erreur suivant :

Le terme « x86 » n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez l'orthographe du nom, ou si
un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au niveau de ligne : 1 Caractère : 71
+ . 'C:\actepi\Scripts\boucleAttenteFinExport.ps1' C:\Program Files (x86 <<<< )\Actepi\OCTOPUS_RESEAU\log\trameEtat\Twin_Grip_11713\EQUIPE\121123_191259.txt
+ CategoryInfo : ObjectNotFound: (x86:'String') [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundE
xception

Sauf erreur de ma part, je n'ai rien trouvé sur le forum concernant ce PB, ni dans votre livre dans lequel j'ai pourtant trouvé la réponse à divers de mes problèmes (Qu'elle aide précieuse ce livre).

Ma question est la suivante, comment peut-on passer un argument à un script qui contient \"x86\" (je ne peux pas changer le répertoire de stockage du fichier à analyser par le script) car à la lecture du message d'erreur c'est ça qui le géne.

Par avance merci de votre aide.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 mois #13260 par SiSMik
Salut,

Tu peux essayer avec la variable d'environnement $env:programfiles ?

Bonne journée !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 mois #13261 par Laurent Dardenne
Peux-tu nous indiquer la ligne d'appel que tu as codé.
Et utilise la balise code pour ta réponse, sinon ce sera illisible.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 mois #13264 par Matthew BETTON
Bonjour,

$env:ProgramFiles donne [code:1] C:\Program Files [/code:1] sur les 2 architectures.

Plusieurs solutions sont envisageables pour détecter l'architecture de l'OS sur lequel tourne le script.

En voici une :

[code:1]$env:«»Processor_Architecture
# Renvoie x86 ou AMD64[/code:1]

Une autre solution :

[code:1](Get-WmiObject win32_OperatingSystem).OSArchitecture
# Renvoie 64-bit... ou rien sur un OS 32 bits
[/code:1]

L'idée est donc que ton script détecte d'abord sur quelle architecture il tourne puis, en fonction du résultat, de fixer une variable qui correspond au chemin. Un exemple :

[code:1]
if($env:«»Processor_Architecture -match \"64\"«»){
$ProgramFiles = \"C:\Program Files (x86)\"
}
else{
$programFiles = \"C:\Program Files\"
}
$programFiles
[/code:1]


@ +

Matthew

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 mois #13265 par Matthew BETTON
Laurent Dardenne écrit:

Peux-tu nous indiquer la ligne d'appel que tu as codé.
Et utilise la balise code pour ta réponse, sinon ce sera illisible.


+1

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 3 mois #13298 par WOLFFER
Bonjour, à tous,

PArdon pour le délai de réponse, mais j'étais en déplacement ce début de semaine. Bref voici les éléments demandé.

Ce script est lancé depuis une application à, partir d'un shell.

la commande est la suivante :
[code:1]Powershell -file \"c:\actepi\scripts\boucleattentefinexport.ps1\" C:\Program Files (x86)\Actepi\OCTOPUS_RESEAU\log\trameEtat\Twin_Grip_11713\EQUIPE\121212_121728.Vid][/code:1]

D'une manière complètement générale, j'utilise powerGui pour l'écriture de mes script, et si je lance l'éxécution d'un script avec un argument qui contient C:\program File (x86) j'obtient ce message d'erreur.

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.103 secondes
Propulsé par Kunena