none
impossible de passer un argument dans un process cmd.exe RRS feed

  • Discussion générale

  • What do you want to do ?
    New mail<button id="mailtorapideemailClipboardButton">Copy</button><textarea id="mailtorapidetextToSelect"></textarea>
    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 code voulu

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

    voici l'argument qui marche en manuel

    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

    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 permets de faire des import de données dans un logiciel
    dimanche 16 août 2020 06:54

Toutes les réponses


  • Bonjour Twetty56,

    Pour que la communauté puisse vous aider au mieux possible, il sera utile de partager le message d'erreur obtenu et le code utilisé en Visual Basic qui pose le problème.

    Cordialement,
    Nina

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    lundi 17 août 2020 06:46
    Modérateur
  • What do you want to do ?

    voici le code pour lancer le process

    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 With {
                .Arguments = command,
                .FileName = "cmd.exe",
                .Verb = "runas",
                .CreateNoWindow = Not ShowWindow,
                .UseShellExecute = False,
                .WindowStyle = If(ShowWindow = True, ProcessWindowStyle.Normal, ProcessWindowStyle.Hidden)
            }
            p.StartInfo = pi
            p.Start()
            If WaitForProcessComplete = True Then
                Do Until p.HasExited = True
                Loop
            End If
    
        End Sub

    et voici le code qui génére l'argument

               '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))
    
                'RunCMD(m_ContenueCommande)
    

    et voici l'argument contenu dans le 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;FACTURE CLD"

    Merci a la communauté

    New mail<button id="mailtorapideemailClipboardButton">Copy</button><textarea id="mailtorapidetextToSelect"></textarea>
    lundi 17 août 2020 13:53
  • Bonjour,

    Je revenais vers toi pour savoir si ton problème avait été résolu car j'ai trouvé une solution pour t'aider.

    T'en souhaitant bonne réception.

    J'attends ta réponse.

    Bien à toi.

    mardi 25 août 2020 11:07
  • Bonjour,

    Si vous avez trouvé une solution, il sera utile de la partager pour contribuer à la communauté MSDN et aider à quelqu'un avec le même problème de se profiter de cette solution. 
    Merci d'avance!

    Cordialement,
    Nina



    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    mardi 8 septembre 2020 07:11
    Modérateur