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 :

impossible de paramétrer un argument pour process cmd.exe


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Par défaut impossible de paramétrer un argument pour process cmd.exe
    Bonjour a tous
    depuis 3 jours je suis bloque

    je cherche a passer un argument pour un process cmd.exe

    j'ai trouvé tous les codes voulus

    mais mon argument retourne toujours une erreur et ne s’exécute pas

    voici l'argument qui marche en manuel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Programme\EBP\Invoicing12.2FRFR40\EBP.Invoicing.Application.exe /Gui=false /Database=c:\Users\THIERRYAIS\Documents\DOSSIER.ebp;EBPSDK /Import="D:\CLIENT\DOSSIER\FTP\EXPEDITION\IMPORTEBP\CR_PRE20200611145811122.CSVEBP.csv;TemporarySaleInvoices;FACTURE CLD"
    Cette commande ajoute systématiquement 2 "" dans la variable texte de l'argument

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Programme\EBP\Invoicing12.2FRFR40\EBP.Invoicing.Application.exe /Gui=false /Database=c:\Users\THIERRYAIS\Documents\DOSSIER.ebp;EBPSDK /Import=""D:\CLIENT\DOSSIER\FTP\EXPEDITION\IMPORTEBP\CR_PRE20200611145811122.CSVEBP.csv;TemporarySaleInvoices;FACTURE CLD"""
    et je ne parviens pas a obtenir un bon fonctionnement

    Merci a tous

    pour information cet argument me permet de faire des imports de données dans un logiciel

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Comment est ajoutée dynamiquement la partie argument ?
    Il serait intéressant/nécessaire d'avoir ton code de la construction de cette ligne de commande.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre habitué
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Par défaut
    Bonjour

    voici le code pour lancer le traitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Public Sub RunCMD(command As String, Optional ShowWindow As Boolean = False, Optional WaitForProcessComplete As Boolean = False, Optional permanent As Boolean = False)
     
            Dim p As Process = New Process()
            Dim pi As ProcessStartInfo = New ProcessStartInfo()
     
            pi.Arguments = command
            pi.FileName = "cmd.exe"
            pi.Verb = "runas"
            pi.CreateNoWindow = Not ShowWindow
            If ShowWindow Then
                pi.WindowStyle = ProcessWindowStyle.Normal
            Else
                pi.WindowStyle = ProcessWindowStyle.Hidden
            End If
            pi.UseShellExecute = False
            p.StartInfo = pi
            p.Start()
            If WaitForProcessComplete Then Do Until p.HasExited : Loop
     
        End Sub
    et voici le code qui génère l'argument actuellement j'ai fait un essai avec l'argument stocké dans un fichier

    mais j'ai fait d'autre essai en construisant le contenu de l'argument a partir d'une variable texte et des données stockées en paramètre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
                'Lecture Fichier Origine
                sr = New StreamReader("D:\DEVELOPPEMENT\BL\cmd.txt", System.Text.Encoding.UTF8)
     
                'met le contenu dans une variable texte
                m_ContenuFichier = sr.ReadToEnd
     
                R = Split(m_ContenuFichier, vbLf)
     
                'Ferme le fichier
                sr.Close()
     
                m_ContenueCommande = R(0)
     
                m_AncienFichier = "CR_PRE20200611145811122.CSVEBP.csv"
     
                m_NouveauFichier = Strings.Replace(strFichier, "D:\CLIENT\DOSSIER\FTP\EXPEDITION\", "")
     
                m_NouveauFichier = Strings.Left(m_NouveauFichier, Strings.Len(m_NouveauFichier) - 4)
     
                m_NouveauFichier = m_NouveauFichier + "EBP.csv"
     
                m_ContenueCommande = Strings.Replace(m_ContenueCommande, m_AncienFichier, m_NouveauFichier)
     
                m_ContenueCommande = Strings.Replace(m_ContenueCommande, Chr(34) + Chr(34), Chr(34))
     
                'Execute(File, m_ContenueCommande)
    et le contenu du fichier

    C:\Programme\EBP\Invoicing12.2FRFR40\EBP.Invoicing.Application.exe /Gui=false /Database=c:\Users\THIERRYAIS\Documents\DOSSIER.ebp;EBPSDK /Import="D:\CLIENT\DOSSIER\FTP\EXPEDITION\IMPORTEBP\CR_PRE20200611145811122.CSVEBP.csv;TemporarySaleInvoices;FACTURECLD"
    Merci de ta réponse

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/03/2016, 11h24
  2. [PowerShell] Impossible de lier l'argument au paramètre «*Identity*», car il a la valeur Null.
    Par G-Orwell dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 08/03/2013, 17h12
  3. Réponses: 1
    Dernier message: 29/03/2010, 16h52
  4. Réponses: 2
    Dernier message: 23/07/2007, 16h01
  5. [Process]renvoyez un zcat en argument pour un prog java
    Par jdeboer dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 01/07/2005, 15h48

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