Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECUPÉRER DES PARAMÈTRES SUR LA LIGNE DE COMMANDE


Information sur la source

Catégorie :Trucs & Astuces Classé sous : parametre, ligne, commande Niveau : Débutant Date de création : 16/09/2005 Date de mise à jour : 23/09/2005 15:28:10 Vu : 10 595

Note :
8,17 / 10 - par 6 personnes
8,17 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (25)
Ajouter un commentaire et/ou une note

Description

Une petite source sans prétention afin d'aider ceux en galère (si tu ne te sens pas concerné alors ne t'y arrête pas) qui permet de récupérer les paramètres que l'on place sur la ligne de commande.

Qu'est-ce que la ligne de commande ? cliquer sur Projets/Propriétés puis sur le 2ème onglet (Make en anglais) il y a une texte box "Arguments de la ligne de commande"
Lorsque le projet est compilé il suffit de tirer un raccourci du .exe et puis on peut les mettre dans Propriétés "Cible"

A quoi cela sert ? si par exemple l'on veut que le programme s'execute de tel ou tel façon (si il y tel argument tu fais ça sinon...) par exemple en anglais ou en Francais il suffit d'y mettre l'option /language=Anglais sinon si le programme ne le trouve pas il sera par défault en français ou bien pour déboguer le programme sans devoir l'executer en mode débug on met l'option /debug=1 et le programme comprendra qu'il faut écrire un fichier quelque part pour que l'utilisateur comprenne pourquoi le prog ne fonctionne pas

Comment on s'en sert ? pour plus de clarté mettre les arguments de tel manière /paramètre=XXX /language=YYY
Attention tous les arguments sont séparés par un espace

Dans le programme pour faire un appel de la fonction faire:

Dim ParamRecupere As String
ParamRecupere = sRecupererParamLigneCommande("/Language=")

et l'on obtiendras dans la variable ParamRecupere ce qu'il y a après "/Language="
par exemple

If ParamRecupere = "Anglais" then
   Afficher programme en anglais
else
   Afficher programme en français
end if
 

Source

  • '*************************** ANCIENNE VERSION : *****************************
  • '******************************************************************************
  • '* fonction qui récupère l'entete du paramètre sur la ligne de commande
  • '* et renvoi le paramètre correspondant
  • '*
  • '* utilise la fonction iNbrArg pour connaitre le nombre d'arguments sur la
  • '* ligne de commande (séparés par un espace)
  • '*
  • '* utilise la fonction iNumArg qui retourne l'argument correspondant
  • '* à une position dans la ligne de commande
  • '******************************************************************************
  • Public Function sRecupererParamLigneCommande(ByVal sEntete As String) As String
  • Dim i As Integer
  • For i = 0 To iNbrArg()
  • If Left$(UCase$(iNumArg(i)), Len(UCase$(sEntete))) = UCase$(sEntete) Then
  • sRecupererParamLigneCommande = Mid$(iNumArg(i), Len(sEntete) + 1)
  • End If
  • Next i
  • End Function
  • '******************************************************************************
  • '* Cette fonction retourne le nombre d'argument de la ligne de commande
  • '******************************************************************************
  • Function iNbrArg() As Integer
  • Dim i As Integer
  • Dim iNbArg As Integer 'compte le nombre d'arguments
  • iNbArg = 0
  • If Len(Trim$(Command$)) > 0 Then
  • For i = 1 To Len(Trim$(Command$))
  • 's'il y a un blanc alors c'est un nouveau param sur la ligne de cmd
  • If (Mid$(Command$, i, 1) = " ") Or (i = Len(Command$)) Then
  • iNbArg = iNbArg + 1
  • End If
  • Next i
  • End If
  • iNbrArg = iNbArg
  • End Function
  • '******************************************************************************
  • '* Cette fonction retourne l'argument correspondant à une position
  • '* dans la ligne de commande
  • '* (Le premier argument a le numéro 0)
  • '******************************************************************************
  • Function iNumArg(ByVal iNbrArg As Integer) As String
  • Dim i As Integer
  • Dim iNbArg As Integer
  • Dim sArg As String
  • iNbArg = 0
  • sArg = ""
  • If Len(Trim$(Command$)) > 0 Then
  • For i = 1 To Len(Trim$(Command$))
  • sArg = sArg & Mid$(Command$, i, 1)
  • If (Mid$(Command$, i, 1) = " ") Or (i = Len(Command$)) Then
  • If iNbArg = iNbrArg Then
  • iNumArg = Trim$(sArg)
  • Else
  • sArg = ""
  • End If
  • iNbArg = iNbArg + 1
  • End If
  • Next i
  • End If
  • End Function
  • '*************************** NOUVELLE VERSION : *****************************
  • '******************************************************************************
  • '* renvoie la valeur du parametre demande
  • '* format /PAR:NNNN pour une meilleure visualisation
  • '*
  • '* le nom du parametre ne contient pas forcement un "/" ou un "=" puisque
  • '* celui ci fait parti du nom
  • '* Attention : chaque parametre doit etre separe par un blanc
  • '******************************************************************************
  • Function sRecupererParamLigneCommande(sNomParametre As String) As String
  • Dim iPos As Integer
  • Dim iposFin As Integer
  • ' on recherche le nom de parametre
  • iPos = InStr(Command$, sNomParametre)
  • If iPos > 0 Then
  • iposFin = InStr(iPos, Command$, " ")
  • If iposFin > 0 Then
  • ' on a un blanc derriere le parametre
  • sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre), iposFin - iPos - Len(sNomParametre))
  • Else
  • ' on est a la fin de la ligne de parametres et l'on n'a pas de blancs
  • sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre))
  • End If
  • Else
  • sRecupererParamLigneCommande = ""
  • End If
  • End Function
'***************************  ANCIENNE VERSION :  *****************************

'******************************************************************************
'* fonction qui récupère l'entete du paramètre sur la ligne de commande
'* et renvoi le paramètre correspondant
'*
'* utilise la fonction iNbrArg pour connaitre le nombre d'arguments sur la
'* ligne de commande (séparés par un espace)
'*
'* utilise la fonction iNumArg qui retourne l'argument correspondant
'* à une position dans la ligne de commande
'******************************************************************************
Public Function sRecupererParamLigneCommande(ByVal sEntete As String) As String
Dim i As Integer
    
    For i = 0 To iNbrArg()
        If Left$(UCase$(iNumArg(i)), Len(UCase$(sEntete))) = UCase$(sEntete) Then
            sRecupererParamLigneCommande = Mid$(iNumArg(i), Len(sEntete) + 1)
        End If
    Next i
    
End Function

'******************************************************************************
'* Cette fonction retourne le nombre d'argument de la ligne de commande
'******************************************************************************
Function iNbrArg() As Integer
Dim i As Integer
Dim iNbArg As Integer   'compte le nombre d'arguments

    iNbArg = 0

    If Len(Trim$(Command$)) > 0 Then
        For i = 1 To Len(Trim$(Command$))
            's'il y a un blanc alors c'est un nouveau param sur la ligne de cmd
            If (Mid$(Command$, i, 1) = " ") Or (i = Len(Command$)) Then
                iNbArg = iNbArg + 1
            End If
        Next i
    End If

    iNbrArg = iNbArg
    
End Function

'******************************************************************************
'* Cette fonction retourne l'argument correspondant à une position
'* dans la ligne de commande
'* (Le premier argument a le numéro 0)
'******************************************************************************
Function iNumArg(ByVal iNbrArg As Integer) As String
Dim i As Integer
Dim iNbArg As Integer
Dim sArg As String

    iNbArg = 0
    sArg = ""

    If Len(Trim$(Command$)) > 0 Then
        For i = 1 To Len(Trim$(Command$))
            sArg = sArg & Mid$(Command$, i, 1)
            If (Mid$(Command$, i, 1) = " ") Or (i = Len(Command$)) Then
                If iNbArg = iNbrArg Then
                    iNumArg = Trim$(sArg)
                Else
                    sArg = ""
                End If
                iNbArg = iNbArg + 1
            End If
        Next i
    End If
    
End Function


'***************************  NOUVELLE VERSION :  *****************************

'******************************************************************************
'* renvoie la valeur du parametre demande
'* format /PAR:NNNN pour une meilleure visualisation
'*
'* le nom du parametre ne contient pas forcement un "/" ou un "=" puisque
'* celui ci fait parti du nom
'* Attention : chaque parametre doit etre separe par un blanc
'******************************************************************************

Function sRecupererParamLigneCommande(sNomParametre As String) As String

Dim iPos As Integer
Dim iposFin As Integer

' on recherche le nom de parametre
iPos = InStr(Command$, sNomParametre)
If iPos > 0 Then
    iposFin = InStr(iPos, Command$, " ")
    If iposFin > 0 Then
        ' on a un blanc derriere le parametre
        sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre), iposFin - iPos - Len(sNomParametre))
    Else
        ' on est a la fin de la ligne de parametres et l'on n'a pas de blancs
        sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre))
    End If
Else
    sRecupererParamLigneCommande = ""
End If
End Function

Conclusion

' à mettre dans un module
' n'hesitez pas à me contacter pour des questions ou pour améliorer la source et notez please !!

' je rappelle que cette source est faite par un débutant pour débutant ne soyez pas sévère
 

Historique

23 septembre 2005 15:28:10 :
'La nouvelle version est beaucoup plus simple et beaucoup plus courte 'à vous de juger 'L'appel de la fonction se fait pareillement 'je n'y ai pas mis la fonction split :-) 'je pense que c'est assez clair comme ça enfin dites-moi

Commentaires et avis

signaler à un administrateur
Commentaire de econs le 16/09/2005 16:21:56 administrateur CS

Bel effort.



Pour info, en beaucoup moins de lignes, avec la fonction Split :


Dim tablo() As String
dim slignedecommande As String
slignecommande = "monprog.exe param1 -param2 param3"
tablo = Split(slignecommande, " ", , vbTextCompare)
    MsgBox "Nombre d'arguments : " & UBound(tablo)
    MsgBox "Deuxième argument : " & tablo(2)

signaler à un administrateur
Commentaire de ghuysmans99 le 16/09/2005 22:50:03

pas mal !

signaler à un administrateur
Commentaire de asimengo le 17/09/2005 12:12:45

Une chose de plus apprise pour moi merci. Néanmoins prends en compte la suggestion de ECONS, tu pourra consulter l'aide sur les fonctions "SPLIT" et "JOIN" qui te seront certainement utiles.

Bonne Continuation.

signaler à un administrateur
Commentaire de franckydeluka le 17/09/2005 13:19:31

c'est cool de se pencher sur ma source
Merci les gars. et dès que j'ai le temps j'y ajoute la fonction "split" (je la connaissais déjà mais j'ai préféré boucler va savoir pourquoi...)

enfin je ne pense pas que le fait de ne pas y avoir mis cette fonction vaut en 2/10 à ma source mais c'est vrai que comme le dis ASIMENGO sur sa fiche la clarté et la finesse d'un code est aussi important que sa fonction elle même.

sur ce bonne prog à tous !!

signaler à un administrateur
Commentaire de Alain Proviste le 17/09/2005 16:30:14 administrateur CS

split sera plus performant...
certes on a jamais des milliers de params mais bon...

signaler à un administrateur
Commentaire de econs le 18/09/2005 22:39:42 administrateur CS

C'est clair, çà ne vaut quand même pas 2/10. Ton algo est propre et commenté.

signaler à un administrateur
Commentaire de crenaud76 le 19/09/2005 10:01:30

Avec ton code ou avec la fonction Split, il faudra faire très attention aux parametres contenant des espaces ... comme un nom de fichier long entre guillemets !!!
Autre remarque ... Avec ta méthode, si je demande le 1er argument puis le second, puis le troisième,etc ... ton code fait x fois le même boulot (découpage de la chaine notamment) !!

signaler à un administrateur
Commentaire de ScSami le 21/09/2005 03:37:34

Clair!
Non, franchement, c'est à chacun de faire comme il veut! Mais c'est bien quand même (pour les débutants) :-)
Sinon, pour résoudre le prob soulevé par Crenaud76, il suffit, comme la plupart des progs font, de séparer les paramètres par des anti-slashs "\" ou des slashs "/". Par exemple :
/Argument:datas /D:bla bla /E:...
Tout simplement!

Enjoy

signaler à un administrateur
Commentaire de ScSami le 21/09/2005 03:55:26

(petite précisions...)

Vi, après, bien évidemment, il suffit d'extraire, dans un premier temps, les chaines inter slashiques "/chaine/" puis d'analyser ces chaines.
Pour se faire, il suffit de séparer la chaine en deux :
chaine_avant_les_deux_point
":"
chaine_après_les_deux_point
et ce en cherchant les ":".
Je te laisse regarder les diverses fonctions de traitements textuels tel que Split, Replace, Mid, Right, ..., ..., ...
Biensûr, cette méthode permettrait de connaître facilement la validité des arguments et ainsi d'éviter de perdre les arguments suivants une erreur :
/D:texte_a_la_con /Echiffre /C:lettres
   Bon               Faux      Bon
>/D:texte_a_la_con           /C:lettres

Enjoy

signaler à un administrateur
Commentaire de Dromax le 23/09/2005 11:04:14

Vb.Net :

On utilise la propriété CommandLine de la classe Environment pour avoir la ligne entière dans une chaine de caractères

Console.WriteLine("La ligne de commande est : {0}", Environment.CommandLine)

On utilise GetCommandLineArgs pour obtenir un tableau de chaines de caractères contenant chaque argument.

'Arguments de ligne de commande Console.WriteLine("Arguments de ligne de commande") Dim i As Integer Dim args As String() = Environment.GetCommandLineArgs() Dim j As Integer = args.Length For i = 0 To j - 1 Console.WriteLine("Args({0}) = {1}", i, args(i)) Next

signaler à un administrateur
Commentaire de crenaud76 le 23/09/2005 13:53:24

Peuh !! VB.NET c'est même pas drôle !! Tout le travail est déjà mâché !!

Christophe

signaler à un administrateur
Commentaire de franckydeluka le 23/09/2005 15:37:29

j'ai mis à jour ma source en simplifiant grandement le code !! Dites-moi ce que vous en pensez..
Merci à tous en tout cas !!

Je n'y ai pas mis la fonction Split car j'y ai préféré la fonction InStr.

DROMAX --> VB.NET mort de rire c'est vrai que c'est beaucoup plus simple! mais c'est moins drôle...

signaler à un administrateur
Commentaire de crenaud76 le 23/09/2005 15:46:54

Ne pas utiliser la fonction Split(), je pense que tu as tord .. c'est bien plus efficace ... code plus court et plus rapide...

Christophe

signaler à un administrateur
Commentaire de toopix le 05/12/2005 11:50:03

apparement je suis encore plus debutant que débutant, alors est ce que quelqu'un pourrait m'expliquer comment faire si je veux programmer des parametres à mon programme en VB6.
Parce que j'avoue j'ai pas tout saisi.
Merci d'avance.

signaler à un administrateur
Commentaire de toopix le 05/12/2005 11:50:32

apparement je suis encore plus debutant que débutant, alors est ce que quelqu'un pourrait m'expliquer comment faire si je veux programmer des parametres à mon programme en VB6.
Parce que j'avoue j'ai pas tout saisi.
Merci d'avance.

signaler à un administrateur
Commentaire de salazar le 24/01/2006 14:06:22

Bonjour,

Il parait très intéressant ton programme avec passage d'arguments, mais j'éprouve quelques difficultés pour le faire fonctionner avec la commande EXECUTER de windows.
Demarrer/executer/... et là je tappe ton programme Lig_Cde.exe ca marche.
Si j'ajoute des arguments avec différentes syntaxes, ca ne marche plus :
Lig_Cde.exe -play
Lig_Cde.exe /play
Lig_Cde.exe \play
Lig_Cde.exe  play

Que faut il exactement taper ? Il y a une étape que je n'ai pas bien compris. Pourriez vous m'expliquer sur un exemple concret...

Merci.

signaler à un administrateur
Commentaire de franckydeluka le 24/01/2006 14:59:59

Bonjour,
Je fais un exemple très simple parce que c'est vrau que ça peut paraître un peu obscur:

Premièrement ouvrir un projet vierge VB6, puis y copier/coller les fonctions "sRecupererParamLigneCommande" ainsi que "Form_Load" suivantes :





Function sRecupererParamLigneCommande(sNomParametre As String) As String
  
Dim iPos As Integer
Dim iposFin As Integer
  
' on recherche le nom de parametre
iPos = InStr(Command$, sNomParametre)
If iPos > 0 Then
    iposFin = InStr(iPos, Command$, " ")
    If iposFin > 0 Then
        ' on a un blanc derriere le parametre
        sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre), iposFin - iPos - Len(sNomParametre))
    Else
        ' on est a la fin de la ligne de parametres et l'on n'a pas de blancs
        sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre))
    End If
Else
    sRecupererParamLigneCommande = ""
End If
End Function

Private Sub Form_Load()
    Dim param As String
    param = sRecupererParamLigneCommande("/L=")
    MsgBox (param)
End Sub





compiler ensuite le programme et le mettre sur C:\ (il s'appelle par défaut Project1.exe) puis l'appeler dans "Démarrer/éxécuter" comme ceci:

C:\Project1.exe /L=FRANCAIS

Le programme doit afficher dans une Msgbox "FRANCAIS" pour dire qu'il a bien pris en compte l'option FRANCAIS.

Voilà tout simplement ;-)
++

signaler à un administrateur
Commentaire de salazar le 24/01/2006 16:05:04

Merci pour la rapidité de ta réponse !  

Ca fontionne bien ! !!    10/10

Dans ton exemple, pour gèrer le passages de plusieurs arguments tu fais :
    param = sRecupererParamLigneCommande("/L=")
    MsgBox (param)
    param = sRecupererParamLigneCommande("/M=")
    MsgBox (param)
    ...

Peut-on ne plus utiliser le L=  M=  ?
S'il y a n arguments, comment le gère t'on ?


Merci
;o)

signaler à un administrateur
Commentaire de franckydeluka le 26/01/2006 14:40:19

Salut !!

Ah OK je vois ce que tu veux dire.
En fait tu peux mettre autant d'arguments que tu le souhaites mais pour plus de clarté et de simplicité il vaut mieux se limiter car tu es obligé de les définir 1 par 1.

Si tu veux faire quelque chose de plus important et configurable alors il vaut mieux utiliser un fichier de configuration dans le style fichier INI.

voilà bonne prog !!
++

signaler à un administrateur
Commentaire de nihaoma le 14/02/2006 13:55:54

bonjour,

dans le meme esprit, j'ai une petite question,
grace à une bidouille avec la Registry, mon code est appelé quand on clic droit sur un fichier, avec en argument le Path du fichier en question (code.exe %1). Le problème, c'est que je ne connais pas le nom utiliser pour décrir l'argument, est-ce que quelqu'un pourait m'aider svp ?

merci

NiHaoMa

signaler à un administrateur
Commentaire de nihaoma le 14/02/2006 14:00:03

heu, laissez tomber, j'ai poser la question sans réfléchir, mais il me suffit en fait de lire le contenu de Command$ pour y répondre.....
désolé pour le spam inutile...

signaler à un administrateur
Commentaire de miata le 16/02/2007 20:21:56

Bonjour,

Le code tourne super bien, mais j'ai prob.
Fait clic droit sur un fichier > Oubrir avec > votre EXE
sa renverra :
mon.exe "C:\Le\Chemin du fichier\dans son dossier"

Il y a des espaces dans la commande envoyé, et ton code limite à chaque espace, comment récupérer la valeur entre guillemet ?

signaler à un administrateur
Commentaire de pbeauducel le 07/03/2007 11:45:17

Bonjour, par besoin j'ai ecrit cette class qui me permet de recupere les parametres de la ligne de commande.

Chaque parametres est placés dans une collection.
pour faire simple elle fait ceci:

Ligne de commande : "-F = "chemin + nom de fichier" -f=toto.txt -bidule
Param 1 = -F
param 2 = chemin + nom de fichier
param 3 = -f
param 4 = toto.txt
param 5 = -bidule

voici mon code si cela peut servir ;-)


Option Explicit

Private ArgCol As New Collection

' 1 = Juste pour executer dans VB, sinon 0
Const DebugCMD As Boolean = 1


Private Sub Class_Initialize()
    Dim CmdL As String
    
    If DebugCMD = 0 Then
        Call ArgCol.Add(Command())          ' Recupere la ligne de commande
    Else
        ' Ma ligne de commande pour debugage
        CmdL = "-F = " + Chr(34) + "C:\DXFCAM\Escalier\S2\LIMONS\LIM002I1.DXF" + Chr(34)
        CmdL = CmdL + " -F=" + Chr(34) + "C:\DXF CAM\Escalier\S2\LIMONS\LIM002I2.DXF" + Chr(34)
        Call ArgCol.Add(CmdL)
    End If
    
    ' Analyse la ligne de commande
    Call ArgColInit(ArgCol.Item(1))
End Sub


Private Sub Class_Terminate()
    Set ArgCol = Nothing
End Sub


' **************************************
' Retourne la ligne de commande analysée
' **************************************
Public Function LineCmd() As String
    LineCmd = ArgCol.Item(1)
End Function


' ***********************************************
' Retourne un parametre n de la ligne de commande
' ***********************************************
Public Function Item(ByVal NumArg As Long) As String
    Item = ArgCol.Item(1 + NumArg)
End Function


' *******************************************************
' Retourne le nombre de parametre de la ligne de commande
' *******************************************************
Public Property Get Nb_Arg() As Long
    Nb_Arg = ArgCol.Count - 1
End Property


' **************************************************
' Analyse de la ligne de commande passe en parametre
' **************************************************
Private Sub ArgColInit(ByVal chaine As String)
    Dim Count As Long
    Dim Mode As Long
    Dim CodeAscii As String
    
    Dim parm As String
    
    ' Coupe a chaque espace et stocke le mot dans une collection et
    ' toute chaine entre guillemet
    parm = ""
    Mode = 0
    For Count = 1 To Len(chaine)
        CodeAscii = Mid(chaine, Count, 1)   ' Lit un caractere
            
        If Mode = 0 Then        ' Le mode 0, coupe a chaque espace
                                ' --------------------------------

            If CodeAscii = "=" Then CodeAscii = " "     ' Elimine le symbole =
            
            ' Si espace ou guillemet
            If CodeAscii = " " Or CodeAscii = Chr(34) Then
                
                If CodeAscii = Chr(34) Then Mode = 1    ' Si guillemet de debut passe en mode 1
                Call Memorise_Param(parm)               ' Memorise le parametre
            Else
                parm = parm + CodeAscii                 ' Ajoute un caractere au parametre
            End If
        Else                    ' le Mode 1, coupe a chaque guillement
                                ' ------------------------------------
                                
            If CodeAscii = Chr(34) Then                 ' Si guillemet de fin repasse en mode 0
                Mode = 0
                Call Memorise_Param(parm)               ' Memorise le parametre
            Else
                parm = parm + CodeAscii                 ' Ajoute un caractere au parametre
            End If
        End If
    Next Count
    
    Call Memorise_Param(parm)               ' Memorise le dernier parametre
End Sub

Public Sub Memorise_Param(ByRef chaine As String)
    If chaine <> "" Then                    ' Memorise le parametre si non nul
        Call ArgCol.Add(chaine)             ' Dans une collection
        chaine = ""                         ' Efface le parametre
    End If
End Sub


signaler à un administrateur
Commentaire de miata le 07/03/2007 14:37:24

Merci !

signaler à un administrateur
Commentaire de Slee84 le 25/05/2007 11:41:26

Bonjour,

j'ai modifié la source présentée en prenant comme séparateur le caractère "\" qui précèdera les noms de paramêtres.
Ce détail permet le passage des parametres dont les valeurs contiennent des espaces.

Rien de bien énorme en somme...


commande : toto.exe \PARAM1=mon Test \PARAM2=Cool \PARAM3=ALFRED
ou toto.exe \PARAM1:mon Test \PARAM2:Cool \PARAM3:ALFRED
l'utilisation reste la même : sRecupererParamLigneCommande("PARAM1")





Function sRecupererParamLigneCommande(ByVal sNomParametre As String) As String

        Dim iPos As Integer
        Dim iposFin As Integer

        ' on recherche le nom de parametre
        iPos = InStr(Command$, sNomParametre)
        If iPos > 0 Then
            iposFin = InStr(iPos, Command$, "\")
            If iposFin > 0 Then
                ' on a un autre paramètre derriere le paramètre
                sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre) + 1, iposFin - iPos - Len(sNomParametre) - 1).Trim(" ")
            Else
                ' on est a la fin de la ligne de parametres
                sRecupererParamLigneCommande = Mid$(Command$, iPos + Len(sNomParametre) + 1).Trim(" ")
            End If
        Else
            sRecupererParamLigneCommande = ""
        End If
    End Function

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

!!!!!! Ligne de commande !!!!!!! [ par schouly ] J'aimerais ajouter une ligne de commande à mon appli pour par exemple démarrer avec un autre form mais je ne sais comment faireex:monap.exe /dMerci Sc Se déconnecter d'internet par ligne de commande [ par franckj ] Je cherche une ligne de commande DOS pour déconnecter d'internet du style de la commande pour se connecter : rundll32.exe rna...Merci Parametres de la ligne de commande [ par tophe ] A partir d'une appli VB, comment peut on récupérer la liste des arguments de la ligne de commande ?Ex : monProg.Exe Para1 Para2 MErci création d'une connexion RAS en ligne de commande [ par messaoud ] J'aimerai savoir comment créer une connexion RAS en ligne de commande Définir un parametre pour une commande d'un Data Environment [ par Jim ] Salut bonne âme salvatrice,quand j'essaie de définir un parametre de tri dans une commande de mon Data Environment et que j'effectue un "run" , j'obti HELP Lancer mon script en ligne de commande avec des paramètres ?!?!? [ par Mimich ] Je voudrais pouvoir lancer mon fichier vbs en ligne de commande avec des arguments.Ex : nomdefichier.vbs -writenomdefichier.vbs -sureComment dois-je m Argument de ligne de commande [ par sheur60 ] Je cherche a récupérer des arguments passer en ligne de commande de mon programme. Par exemple, si mon raccourci est C:\Prog.exe /toto, je cherche à r Argument de ligne de commande [ par sheur60 ] Je cherche a récupérer des arguments passer en ligne de commande de mon programme. Par exemple, si mon raccourci est C:\Prog.exe /toto, je cherche à r ligne de commande [ par Berenger ] Comment récupérer executer une commande pour par exemple ouvrir un fichier texte avec mon application en cliquant juste sur le fichier en question dan lancer un .exe avec parametres sur la ligne de commande [ par champi ] Salut a tous. Je cherche a savoir comment lancer un .exe avec des parametres sur la ligne de commande.Les parametres sont a prendre des txt****.Tex (i


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,858 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.