Question Paramètres avec des espaces

Plus d'informations
il y a 13 ans 11 mois #11478 par Guerric
Bonjour à tous,

N'étant pas un grand développeur Powershell j'espère être dans la bonne section.

Voile je souhaite développer un script lancé par un logiciel. Ce dernier passe des paramètres avec des variables pouvant contenir des espaces.
Le problèmes c'est que je ne peux pas modifier les paramètres, ils sont générés par le logiciel et tout le temps différents.

Comment puis-je faire pour tous les récupérer, et bien délimiter mes paramètres?

Je vois bien l'idée d'entourer mes paramètres avec des caractères, chose que je peux encore faire.

J'accèpte toute les propositions.

Merci d'avance de votre aide

Gulrick

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

Plus d'informations
il y a 13 ans 11 mois #11481 par Richard Lazaro
Pourais tu donner un exemple concret car je n'arrive pas à replacer le contexte.

Il ne me semble pas qu'il soit possible d'avoir des paramètres avec des espaces ...

Think-MS : (Get-Life).Days | %{ Learn-More }

\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein

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

Plus d'informations
il y a 13 ans 11 mois #11485 par Laurent Dardenne
Salut,
Gulrick écrit:

Comment puis-je faire pour tous les récupérer, et bien délimiter mes paramètres?

Il faut déjà savoir si tu peux les reconstruire. Où se termine le contenu du premier paramètre, où se termine le contenu du second paramètre, etc.
Tu peux récupérer l'intégralité de la ligne de commande en utilisant le paramètre $Args, mais là tu récupères plusieurs chaînes de caractères :
[code:1]
function get-parameters {
$i=0
foreach($Item in $args)
{
\"item $I = \"+$Item
$I++
}
}
Get-Parameters ceci estune suite de parametre avec desEspaces
Get-Parameters \"ceci estune suite de parametre avec desEspaces.\"
Get-Parameters 'ceci estune' suite 'de parametre avec' desEspaces
Get-Parameters ceci \"estune suite\" 'de parametre' \"avec desEspaces\"
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 10/04/12 20:43

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 11 mois #11487 par Guerric
Réponse de Guerric sur le sujet Re:Paramètres avec des espaces
Bonsoir à tous,

En fait j'utilise un logiciel de supervision qui lance mon bat comme ceci :

D:\test.bat %OBJNAME %DATETIME ... ou les %xxxx sont les paramètres variables comprenants des espaces. ils sont liés aux alertes donc systématiquement différents.

Par contre j'ai la possibilité de les délimiter avec des guillemets ou d'autres symboles donc ça devrait le faire, et je pourrais utiliser ta fonction Laurent.

Je n'y arrive pas en batch, d'où le powershell déjà utilisé en interne.

Je vous fais un retour, si vous avez d'autres idées n'hésitez pas.

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

Plus d'informations
il y a 13 ans 11 mois #11497 par Guerric
Réponse de Guerric sur le sujet Re:Paramètres avec des espaces
Bon,j'ai fouillé un peu ce matin, et la seule solution sur laquelle je tombe est de pouvoir concaténer tous les paramètres.

Ce sera la plus adaptée car je dois au final envoyer un email avec en corps tous les paramètres ;)

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

Plus d'informations
il y a 13 ans 11 mois #11498 par Guerric
Réponse de Guerric sur le sujet Re:Paramètres avec des espaces
Par contre ta fonction ne marche pas Laurent, il rentre bien dans la fonction mais pas dans la boucle et pourtant aucun message d'erreur.

très étrange

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

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