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

VB.NET Discussion :

espace dans un chemin passé en argument


Sujet :

VB.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 365
    Points : 176
    Points
    176
    Par défaut espace dans un chemin passé en argument
    Bonjour,
    j'essaye de récupérer dans mon programme vb.net, les arguments passés. Jusque là sa va, j'utilise la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Environment.CommandLine
    puis je sépare chaque argument avec la fonction
    Jusqu'à présent tout allait bien mais j'ai un problème lorsqu'il y a un espace dans l'argument. Je m'explique: le tout premier argument est le chemin de l'exécutable, donc la ligne de commande sera du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "c:\Program Files\monProgramme.exe" arg01
    en splitant avec les espaces (split(" ")), je récupère:

    arg0="c:\Program
    arg1=Files\monProgramme.exe"
    arg2=arg1
    or je voudrais récupérer:
    arg0="c:\Program Files\monProgramme.exe"
    arg1=arg01
    le problème est que je ne peux pas concaténer les deux premiers arguments car le chemin peut très bien être "c:\monProgramme.exe"
    comment faire pour qu'il ne considère pas l'espace contenu dans une chaine entre guillemets comme un séparateur?
    merci
    Qui vit par le Troll périra par le Troll!

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Un split du "\" ?
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 365
    Points : 176
    Points
    176
    Par défaut
    le problème étant que je peux avoir plusieurs arguments et que plusieurs arguments peuvent être des chemins de fichiers. Par exemple:
    "c:\Program Files\monProgramme.exe" toto "c:\Documents And Settings\monDoc1.txt" tata c:\Temp\monDoc2.txt
    comme on peut le voir, lorsque je récupère la commande et que je sépare les arguments, je ne sais pas si mes arguments seront des chemins ou non, ce n'est qu'après avoir récupéré l'argument toto que mon programme saura à quoi il à faire. Ce que je cherche à faire c'est "ne pas spliter si l'espace est entre guillemets" et c'est là que sa coince.
    Qui vit par le Troll périra par le Troll!

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 075
    Points
    28 075
    Par défaut
    utilise My.Application.CommandLineArgs, les arguments sont déjà splités
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    365
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 365
    Points : 176
    Points
    176
    Par défaut
    effectivement, sa nécessite de transformer un tableau de srting en System.Collections.ObjectModel.ReadOnlyCollection(Of String), mais sa marche mieux, de plus, sa ne prend que les arguments et non pas le nom de l'exécutable comme Environment.CommandLine.
    Qui vit par le Troll périra par le Troll!

  6. #6
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Points : 2
    Points
    2
    Par défaut espace dans le chemin
    ou incerer des guillemets dans la chaine avec un double guillemet ("")

  7. #7
    Membre averti Avatar de The_Big_Lebowski
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 225
    Points : 304
    Points
    304
    Par défaut
    salut,
    Tu peux tres bien fonctionner avec des options comme généralement l'ensemble des commandes DOS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monProg.exe -f:myFirstPath -f:mySecond -r:monRoudoudou etc...
    Si c'est toi qui génère les arguments ça ne pose aucun problème.
    C'est ce que je fais généralement.

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

Discussions similaires

  1. SQLPlus et espace dans un chemin d'accès
    Par jleg dans le forum Sql*Plus
    Réponses: 2
    Dernier message: 22/03/2007, 17h33
  2. Espace dans les chemins en batch
    Par pzou dans le forum Windows
    Réponses: 9
    Dernier message: 25/08/2006, 20h09
  3. Problème d'espace dans les varibles passées par GET !
    Par boukay dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/03/2006, 14h36
  4. [VBS] Gestion des espaces dans le chemin de fichiers
    Par Edoxituz dans le forum VBScript
    Réponses: 4
    Dernier message: 23/02/2006, 16h41
  5. [DOS] Espace dans le chemin et lancement de fichier
    Par nahzhir dans le forum Scripts/Batch
    Réponses: 16
    Dernier message: 20/02/2006, 09h27

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