IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Utilisation d'un paramètre [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Utilisation d'un paramètre
    Bonjour,

    Je rencontre un petit soucis avec les paramètres en Powershell.

    Dans un premier script (script1.ps1), je sélectionne un script à exécuter avec un fichier CSV, puis je lance la ligne de commande. Avant l'exécution de mon script, mes variables $script et $csvfile contiennent les informations nécessaires, à savoir le nom de mon script ainsi que le nom de mon fichier CSV.

    Je souhaiterais utiliser le fichier csv dans un second script au moyen d'un paramètre "-csv", qui sera déclaré dans le script qui sera exécuté.

    Exemple: commande du script1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell.exe .\$script -csv .\$csvfile
    J'ai donc essayé de créer un paramètre dans le script $script.

    Exemple: paramètre déclaré dans le script $script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Param(  	[Alias('csv')] # le commutateur -csv
    		[Parameter(Mandatory=$False)] # Paramètre -csv non obligatoire
                    $csvfile
             )
    Je ne sais pas si la méthode est bonne ou pas, mais lorsque j'exécute la commande mentionnée ci-dessus, ma variable $csvfile du script $script reste désespérément vide.

    J'ai également essayé sans succès sous la forme suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Param(
        [string]$csv
    )
    Avez-vous une idée de ce qui pose problème?
    Je pourrais poster plus d'éléments (script complet) d'ici demain si besoin.
    Merci par avance

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    salut,
    essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    powershell.exe -Command ".\$script -csv .\$csvfile"
    J'ai un doute sur le traitement du chemin relatif dans ce cas, et l'appel à un autre process n'est peut être pas nécessaire.
    Pour la cause voir ces infos et cet outil pour l'analyse de la ligne de commande.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Au final, j'ai trouvé la solution la semaine dernière, voici le code utilisé dans mes scripts:

    Script 1: Appel du script sélectionné avec le csv sélectionné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    powershell.exe -File $SelectItemScript -csv $SelectItemCSV
    Script $SelectItemScript: avant "Param", il ne doit rien y avoir d'autre que des commentaires.
    Le paramètre n'est pas obligatoire (Mandatory=$False) et ensuite je récupère ma variable dans une autre variable ($computernamepath).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Param(  [Alias('CSV')]
    		[Parameter(Mandatory=$False,HelpMessage="Fichier CSV")]
            $computernamepath=$csv
    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] [PowerShell]Utiliser une colonne d'un fichier csv
    Par Léponge85 dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 26/02/2009, 11h54
  2. Réponses: 1
    Dernier message: 27/11/2008, 10h55
  3. Erreur utilisation d'un paramètre
    Par Kihmé Xs dans le forum iReport
    Réponses: 2
    Dernier message: 31/03/2008, 09h59
  4. Réponses: 7
    Dernier message: 11/10/2006, 13h35
  5. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo