J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE
que j'invoque de la façon suivante dans une session DOS
myprog.exe 'C:\myfolder\AAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme
suivant :
Dim maligne
nbparm = App.ParameterCount
maligne = ""
For i = 1 to nbparm
tmp = App.ParameterString(i)
msgbox(tmp)
If tmp = Chr(38) Then babla.....
Else
maligne = maligne & " " & App.ParameterString(i)
End IF
Next
Tout marche bien, sauf que le & est transformé en 1.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Georges MAUREL
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Bonjour Gérard
Dans la doc de vbs2exe il est dit que ParameterString doit avoir un
paramètre compris entre 0 et ParameterCount-1
Cependant ce script fonctionne correctement et si vous faites un
msgbox(maligne) en fin de boucle vous verrez qu'il contient bien
'C:myfolderAAAA & BBBB'
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
57019B18-0EDB-4A7A-A74E-F0B71527CD63@microsoft.com...
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE
que j'invoque de la façon suivante dans une session DOS
myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme
suivant :
Dim maligne
nbparm = App.ParameterCount
maligne = ""
For i = 1 to nbparm
tmp = App.ParameterString(i)
msgbox(tmp)
If tmp = Chr(38) Then babla.....
Else
maligne = maligne & " " & App.ParameterString(i)
End IF
Next
Tout marche bien, sauf que le & est transformé en 1.
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Gege
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à
ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non
wscript support). Par contre dans ce cas, la boucle doit commencer à 1
jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait
pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre
qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux
utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de
commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose
une restriction sur le contenu des paramètres passés.
Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard
Dans la doc de vbs2exe il est dit que ParameterString doit avoir un
paramètre compris entre 0 et ParameterCount-1
Cependant ce script fonctionne correctement et si vous faites un
msgbox(maligne) en fin de boucle vous verrez qu'il contient bien
'C:myfolderAAAA & BBBB'
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
57019B18-0EDB-4A7A-A74E-F0B71527CD63@microsoft.com...
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE
que j'invoque de la façon suivante dans une session DOS
myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme
suivant :
Dim maligne
nbparm = App.ParameterCount
maligne = ""
For i = 1 to nbparm
tmp = App.ParameterString(i)
msgbox(tmp)
If tmp = Chr(38) Then babla.....
Else
maligne = maligne & " " & App.ParameterString(i)
End IF
Next
Tout marche bien, sauf que le & est transformé en 1.
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Georges MAUREL
Re bonjour Gérard, Il y a quelque chose que je ne comprend pas. En compilant en mode standard, si on lande myprog.exe C:myfolderAAAA BBBB on obtient bien 2 paramètres C:myfolderAAAA et BBBB Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement Georges
"Gege" a écrit dans le message de news:
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Re bonjour Gérard,
Il y a quelque chose que je ne comprend pas.
En compilant en mode standard, si on lande
myprog.exe C:myfolderAAAA BBBB
on obtient bien 2 paramètres C:myfolderAAAA et BBBB
Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
6B401CFA-A533-4DA3-BB96-6B28DBAC92A7@microsoft.com...
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges
à
ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non
wscript support). Par contre dans ce cas, la boucle doit commencer à 1
jusqu'à count car le parametre 0 est le nom du programme (ça il ne le
savait
pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre
qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux
utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de
commandes (ce qui n'est pas très esthétique), soit en mode standard
j'impose
une restriction sur le contenu des paramètres passés.
Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard
Dans la doc de vbs2exe il est dit que ParameterString doit avoir un
paramètre compris entre 0 et ParameterCount-1
Cependant ce script fonctionne correctement et si vous faites un
msgbox(maligne) en fin de boucle vous verrez qu'il contient bien
'C:myfolderAAAA & BBBB'
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
57019B18-0EDB-4A7A-A74E-F0B71527CD63@microsoft.com...
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE
que j'invoque de la façon suivante dans une session DOS
myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme
suivant :
Dim maligne
nbparm = App.ParameterCount
maligne = ""
For i = 1 to nbparm
tmp = App.ParameterString(i)
msgbox(tmp)
If tmp = Chr(38) Then babla.....
Else
maligne = maligne & " " & App.ParameterString(i)
End IF
Next
Tout marche bien, sauf que le & est transformé en 1.
Re bonjour Gérard, Il y a quelque chose que je ne comprend pas. En compilant en mode standard, si on lande myprog.exe C:myfolderAAAA BBBB on obtient bien 2 paramètres C:myfolderAAAA et BBBB Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement Georges
"Gege" a écrit dans le message de news:
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Gege
Ici le programme n'a qu'un seul paramètre encadré par des quotes, et le & fait partie du nom du folder. Tricky non ?
Ce n'est pas moi qui ait de tels noms mais certains utilisateurs. Rien ne s'y oppose dans les conventions de noms en Windows. Il faut donc que je pense à tous les cas possibles
Merci
"Georges MAUREL" wrote:
Re bonjour Gérard, Il y a quelque chose que je ne comprend pas. En compilant en mode standard, si on lande myprog.exe C:myfolderAAAA BBBB on obtient bien 2 paramètres C:myfolderAAAA et BBBB Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement Georges
"Gege" a écrit dans le message de news:
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Ici le programme n'a qu'un seul paramètre encadré par des quotes, et le &
fait partie du nom du folder. Tricky non ?
Ce n'est pas moi qui ait de tels noms mais certains utilisateurs. Rien ne
s'y oppose dans les conventions de noms en Windows. Il faut donc que je
pense à tous les cas possibles
Merci
"Georges MAUREL" wrote:
Re bonjour Gérard,
Il y a quelque chose que je ne comprend pas.
En compilant en mode standard, si on lande
myprog.exe C:myfolderAAAA BBBB
on obtient bien 2 paramètres C:myfolderAAAA et BBBB
Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
6B401CFA-A533-4DA3-BB96-6B28DBAC92A7@microsoft.com...
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges
à
ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non
wscript support). Par contre dans ce cas, la boucle doit commencer à 1
jusqu'à count car le parametre 0 est le nom du programme (ça il ne le
savait
pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre
qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux
utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de
commandes (ce qui n'est pas très esthétique), soit en mode standard
j'impose
une restriction sur le contenu des paramètres passés.
Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard
Dans la doc de vbs2exe il est dit que ParameterString doit avoir un
paramètre compris entre 0 et ParameterCount-1
Cependant ce script fonctionne correctement et si vous faites un
msgbox(maligne) en fin de boucle vous verrez qu'il contient bien
'C:myfolderAAAA & BBBB'
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
57019B18-0EDB-4A7A-A74E-F0B71527CD63@microsoft.com...
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE
que j'invoque de la façon suivante dans une session DOS
myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme
suivant :
Dim maligne
nbparm = App.ParameterCount
maligne = ""
For i = 1 to nbparm
tmp = App.ParameterString(i)
msgbox(tmp)
If tmp = Chr(38) Then babla.....
Else
maligne = maligne & " " & App.ParameterString(i)
End IF
Next
Tout marche bien, sauf que le & est transformé en 1.
Ici le programme n'a qu'un seul paramètre encadré par des quotes, et le & fait partie du nom du folder. Tricky non ?
Ce n'est pas moi qui ait de tels noms mais certains utilisateurs. Rien ne s'y oppose dans les conventions de noms en Windows. Il faut donc que je pense à tous les cas possibles
Merci
"Georges MAUREL" wrote:
Re bonjour Gérard, Il y a quelque chose que je ne comprend pas. En compilant en mode standard, si on lande myprog.exe C:myfolderAAAA BBBB on obtient bien 2 paramètres C:myfolderAAAA et BBBB Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement Georges
"Gege" a écrit dans le message de news:
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Georges MAUREL
Effectivement c'est pas cool.... car & permet d'enchainer plusieurs commandes Je ne voies pas d'autres solutions que de demander aux utilisateurs de mettre leur paramètres entre ""
Cordialement Georges
"Gege" a écrit dans le message de news:
Ici le programme n'a qu'un seul paramètre encadré par des quotes, et le & fait partie du nom du folder. Tricky non ?
Ce n'est pas moi qui ait de tels noms mais certains utilisateurs. Rien ne s'y oppose dans les conventions de noms en Windows. Il faut donc que je pense à tous les cas possibles
Merci
"Georges MAUREL" wrote:
Re bonjour Gérard, Il y a quelque chose que je ne comprend pas. En compilant en mode standard, si on lande myprog.exe C:myfolderAAAA BBBB on obtient bien 2 paramètres C:myfolderAAAA et BBBB Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement Georges
"Gege" a écrit dans le message de news:
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.
Quelqu'un a-il une idée ?
Effectivement c'est pas cool.... car & permet d'enchainer plusieurs
commandes
Je ne voies pas d'autres solutions que de demander aux utilisateurs de
mettre leur paramètres entre ""
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
A30DE1EC-8001-426A-949C-42E0471AD2FB@microsoft.com...
Ici le programme n'a qu'un seul paramètre encadré par des quotes, et le &
fait partie du nom du folder. Tricky non ?
Ce n'est pas moi qui ait de tels noms mais certains utilisateurs. Rien
ne
s'y oppose dans les conventions de noms en Windows. Il faut donc que je
pense à tous les cas possibles
Merci
"Georges MAUREL" wrote:
Re bonjour Gérard,
Il y a quelque chose que je ne comprend pas.
En compilant en mode standard, si on lande
myprog.exe C:myfolderAAAA BBBB
on obtient bien 2 paramètres C:myfolderAAAA et BBBB
Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de news:
6B401CFA-A533-4DA3-BB96-6B28DBAC92A7@microsoft.com...
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des
échanges
à
ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non
wscript support). Par contre dans ce cas, la boucle doit commencer à 1
jusqu'à count car le parametre 0 est le nom du programme (ça il ne le
savait
pas). Ce qui résoud le problème que j'avais eu avec le dernier
paramètre
qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux
utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de
commandes (ce qui n'est pas très esthétique), soit en mode standard
j'impose
une restriction sur le contenu des paramètres passés.
Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard
Dans la doc de vbs2exe il est dit que ParameterString doit avoir un
paramètre compris entre 0 et ParameterCount-1
Cependant ce script fonctionne correctement et si vous faites un
msgbox(maligne) en fin de boucle vous verrez qu'il contient bien
'C:myfolderAAAA & BBBB'
Cordialement
Georges
"Gege" <Gege@discussions.microsoft.com> a écrit dans le message de
news:
57019B18-0EDB-4A7A-A74E-F0B71527CD63@microsoft.com...
J'exécute un programme xxx.exe compilé en mode Standard avec
VBS2EXE
que j'invoque de la façon suivante dans une session DOS
myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du
programme
suivant :
Dim maligne
nbparm = App.ParameterCount
maligne = ""
For i = 1 to nbparm
tmp = App.ParameterString(i)
msgbox(tmp)
If tmp = Chr(38) Then babla.....
Else
maligne = maligne & " " & App.ParameterString(i)
End IF
Next
Tout marche bien, sauf que le & est transformé en 1.
Effectivement c'est pas cool.... car & permet d'enchainer plusieurs commandes Je ne voies pas d'autres solutions que de demander aux utilisateurs de mettre leur paramètres entre ""
Cordialement Georges
"Gege" a écrit dans le message de news:
Ici le programme n'a qu'un seul paramètre encadré par des quotes, et le & fait partie du nom du folder. Tricky non ?
Ce n'est pas moi qui ait de tels noms mais certains utilisateurs. Rien ne s'y oppose dans les conventions de noms en Windows. Il faut donc que je pense à tous les cas possibles
Merci
"Georges MAUREL" wrote:
Re bonjour Gérard, Il y a quelque chose que je ne comprend pas. En compilant en mode standard, si on lande myprog.exe C:myfolderAAAA BBBB on obtient bien 2 paramètres C:myfolderAAAA et BBBB Qu'est-ce qui vous empèche de procéder ainsi ?
Cordialement Georges
"Gege" a écrit dans le message de news:
Merci Georges, Andreas (le père de VBS2EXE) avec qui j'ai eu des échanges à ce propos, m'a dit qu'il fallait compiler avec le mode standard (et non wscript support). Par contre dans ce cas, la boucle doit commencer à 1 jusqu'à count car le parametre 0 est le nom du programme (ça il ne le savait pas). Ce qui résoud le problème que j'avais eu avec le dernier paramètre qui n'était pas passé.
Donc je suis face à un dilemme : soit avec wscript dois demander aux utilsateurs d'ajouter un paramètre supplémenatire dans leurs lignes de commandes (ce qui n'est pas très esthétique), soit en mode standard j'impose une restriction sur le contenu des paramètres passés. Merci encore
Gérard
"Georges MAUREL" wrote:
Bonjour Gérard Dans la doc de vbs2exe il est dit que ParameterString doit avoir un paramètre compris entre 0 et ParameterCount-1 Cependant ce script fonctionne correctement et si vous faites un msgbox(maligne) en fin de boucle vous verrez qu'il contient bien 'C:myfolderAAAA & BBBB'
Cordialement Georges
"Gege" a écrit dans le message de news:
J'exécute un programme xxx.exe compilé en mode Standard avec VBS2EXE que j'invoque de la façon suivante dans une session DOS myprog.exe 'C:myfolderAAAA & BBBB'
Pour reconstituer ma ligne de commande j'utilise le début du programme suivant :
Dim maligne nbparm = App.ParameterCount maligne = "" For i = 1 to nbparm tmp = App.ParameterString(i) msgbox(tmp) If tmp = Chr(38) Then babla..... Else maligne = maligne & " " & App.ParameterString(i) End IF Next
Tout marche bien, sauf que le & est transformé en 1.