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 :

Recuperation du xeme fichier [PowerShell]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Par défaut Recuperation du xeme fichier
    Bonjour à tous,

    je tiens à vous informer que je suis totalement débutante en powershell. Je réalise un petit script qui devra se placer dans un répertoire, lister les fichiers étant à l'interieur. L'utilisateur devra alors choisir un des fichiers présent, et ce fichier devra etre exécuté (se sont tous des fichiers .ps1).

    Voici mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    cd C:\Local
    $Files = get-childitem -name
    $i=1
    foreach ($File in $Files)
    {
    	Write-Host " " $i "- " $File
    	$i++
    }
    
    $ret=Read-Host "Saisir chiffre"
    
    Write-Host "Chiffre saisi " $ret
    Je parviens à lister les fichiers et à récupérer le chiffre saisi par l'utilisateur, mais je ne sais pas comment l'associer à mon fichier. Je voulais reparcourir mes fichiers et des que le chiffre saisi est egal à mon nouveau compteur je fais mon action, mais je ne pense pas que ce sois très propre et j'espere qu'il existe une autre façon de faire...

    Merci

  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
    Billets dans le blog
    1
    Par défaut
    Salut,
    les fichiers sont mémorisés dans un tableau, le premier l'index est 0.
    Tu peux donc adresser le fichier sélectionné par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $i=1 
    foreach ($File in $Files) 
    {     
      Write-Host " " $i "- " $File
     $i++ 
    }
    
    $ret=Read-Host "Saisir chiffre"
    $Files[$ret]
    Un GUI serait préférable, essaie PrimalForms : http://www.sapien.com/auth/other/downloads

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Par défaut
    Merci c'est bien ce que voulais. Enfin là j'arrive a récupérer le nom de mon fichier. Comment je peux faire pour l'exécuter ?

  4. #4
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Lolosan Voir le message
    Comment je peux faire pour l'exécuter ?
    L'exécution de l'application associée peut se faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Invoke-Item $Files[$I]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 146
    Par défaut
    Le invoke m'ouvre le fichier dans le bloc note. Je suis en train de chercher du côté du start-process :

    Start-Process "cmd /k powershell" $Files[$ret-1]
    Mais je ne sais pas trop où placer mes " et mes '....

  6. #6
    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
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Lolosan Voir le message
    Le invoke m'ouvre le fichier dans le bloc note.
    C'est le comportement par défaut, pour les PS1 tu peux procéder ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Start-Process powershell.exe $fichiers[$I]
    Pas besoin d'utiliser cmd.
    Tu peux aussi regarder les opérateurs & (call operator) et . (Dot sourcing operator) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Get-help about_Operators|more

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

Discussions similaires

  1. pblme pour recuperer donnee dans fichier texte c++
    Par aerosketchique dans le forum C++
    Réponses: 1
    Dernier message: 11/04/2006, 13h05
  2. Récupération liste de fichier pour qmail-inject
    Par segphault dans le forum Linux
    Réponses: 1
    Dernier message: 07/02/2006, 12h01
  3. recuperation chemin nouveau fichier
    Par coco21 dans le forum Access
    Réponses: 4
    Dernier message: 07/02/2006, 09h23
  4. Recuperer tous les fichiers du disque dur
    Par godik dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 04/10/2005, 20h18
  5. Récupérer contenu de fichier dans une variable
    Par peppena dans le forum Linux
    Réponses: 4
    Dernier message: 15/06/2005, 12h50

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