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

Windows Forms Discussion :

vb.net : process & argument passage d'arguments avec des espaces


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Par défaut vb.net : process & argument passage d'arguments avec des espaces
    voila en fait je dois passer des arguments à un process mais en faite ces arguments sont des variables modifiables par l'utilisateur et certaine de ces variables peuvent contenir des espaces. or on il ne doit pas y avoir d'espaces dans les arguments des lignes de commande.

    mon exemple (l'appli sur laquel je travail):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles save.Click
            Dim source As String
            Dim support As String
            source = save2.LbSelection.Text
            support = save1.AutreSupport.Text
            Dim backup As New System.Diagnostics.Process
            ' Nom de l'executable à lancer
            backup.StartInfo.FileName = "ntbackup.exe"
            ' Arguments à passer à l'exécutable à lancer
            backup.StartInfo.Arguments = "backup" & source & " /f " & support     & "\machin.bkf" 
            ' Démarrage du processus
            backup.Start()
        End Sub
    alors quelqu'un à une proposition par ce que là je sèche vraiment.....
    et désolé pour l'oublie des balises de code

  2. #2
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Cela fait plusieur messages que tu post sur ce forum et tu ne met jamais tes balises de code. Tu peux faire attention stp ?

  3. #3
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Citation Envoyé par 1coni
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    backup.StartInfo.Arguments = "backup" & source & " /f " & support     & "\machin.bkf"
    Je ne comprends pas le problème des espaces, à quel endroit en veux-tu ?
    Après le backup ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    backup.StartInfo.Arguments = "backup " & source & " /f " & support & "\machin.bkf"

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Par défaut
    en fait les arguments source et support peuvent être des noms de répertoires contenant des espaces. Et lorsque ces arguments contiennent des espaces le process échoue.
    sous l'invite de commande ce n'est pas très grave on mets des " " autour des arguments. ( ex: nt backup backup "E:\test prog" /f "C:\Documents and Settings")

    mais sous visual studio on ne peut pas procéder ainsi :
    [CODE]
    backup.StartInfo.Arguments = "backup" & "source" & " /f " & "support" & "\machin.bkf"
    'machin.bkf sera juste le nom de la sauvegarde
    [\CODE]

    car dans ce cas là les argument "source et "support" sont considérés comme du text et non comme des variables.
    Donc voila si quelqu'un à une idée pour passer de tels arguments (pouvant contenir des espaces) sont aide me serait utile.
    merci d'avance à+

  5. #5
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Ok, je comprends mieux...
    et ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    backup.StartInfo.Arguments = "backup " & """" & source & """" &  " /f " & """" & support & """" & "\machin.bkf"

  6. #6
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Par défaut
    sa fait exactement pareil
    et mes arguments sont conformes (vérifié avec des espions)
    donc je ne sais pas trop.....

  7. #7
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    essaie ' à la place des ":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    backup.StartInfo.Arguments = "backup '" & source & "' /f '" & support     & "\machin.bkf'"

  8. #8
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 69
    Par défaut
    nikel sa marche c'est formidable (comme dirait "dJACK")
    terrible
    merci à toi bossun
    à+

  9. #9
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    oublie pas le tag résolu.


    content d'avoir pu t'aider

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

Discussions similaires

  1. Passage de paramètres avec un espace
    Par isoman dans le forum C++
    Réponses: 8
    Dernier message: 27/06/2008, 16h19
  2. Réponses: 3
    Dernier message: 09/08/2006, 11h58
  3. vb.net : process & argument
    Par 1coni dans le forum Windows Forms
    Réponses: 10
    Dernier message: 31/05/2006, 16h17
  4. [VB.NET] passage d'arguments d'une classe(form1) à une autre
    Par zouhib dans le forum Windows Forms
    Réponses: 5
    Dernier message: 05/05/2006, 16h54
  5. [VB.NET] Compléter une chaine avec des espaces
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/03/2005, 09h09

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