lancer un programme en fenêtre

Le
Serge Nazarian
Bonjour,

Je suis sous Windows 7.

Je souhaite lancer un programme, prog.exe qui ne fonctionne qu'en
fenêtre de command par
"C:Program Filesdirprogprog.exe" -p fichier_e.txt -o fichier_s.txt
où -p attende le chemin d'un fichier d'entrée et -o le chemin d'un
fichier de sortie.

J'ai donc crée un fichier prog.cmd
qui contient
"C:Program Filesdirprogprog.exe" -p %%1 -o %%2
puis un raccourci vers prog.cmd

Je double-clique sur le raccourci, mais "on" ne me demande pas le
chemin d'entrée ni celui de sortie et cela ne fonctionne pas.

Je désire aussi que la fenêtre ne se ferme pas automatiquement à la fin
de l'exécution.

Qui peut me dépanner ? Est-il possible d'entrer le fichier d'entrée et
de sortie en utilisant les fenêtres de chois de l'explorateur ?

Merci pour toute aide.
Cordialement,

--
Serge Nazarian
Pour m'écrire directement : http://cerbermail.com/?ZDkROVSJlu
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Claude BELLAMY
Le #24927362
Le vendredi 02/11/2012 18:15:26, Serge Nazarian a écrit dans le message
Bonjour,

Je suis sous Windows 7.

Je souhaite lancer un programme, prog.exe qui ne fonctionne qu'en fenêtre
de command par
"C:Program Filesdirprogprog.exe" -p fichier_e.txt -o fichier_s.txt
où -p attende le chemin d'un fichier d'entrée et -o le chemin d'un fichier
de sortie.

J'ai donc crée un fichier prog.cmd
qui contient
"C:Program Filesdirprogprog.exe" -p %%1 -o %%2



Qu'est-ce que ces doubles "%" ??????????
SEULES les % de variables de boucle FOR qui doivent être doublés dans
un batch! (p.ex. "FOR %%F in(*.*) do echo %%F")

Par contre les paramètres formels %1, %2, ..%* restent tels quels ...

Ton fichier cmd doit donc contenir :
"C:Program Filesdirprogprog.exe" -p %1 -o %2



puis un raccourci vers prog.cmd

Je double-clique sur le raccourci, mais "on" ne me demande pas le chemin
d'entrée ni celui de sortie et cela ne fonctionne pas.



NORMAL vu l'erreur de syntaxe ci-dessus !


Je désire aussi que la fenêtre ne se ferme pas automatiquement à la fin de
l'exécution.


Il suffit d'insérer une commande PAUSE


Qui peut me dépanner ? Est-il possible d'entrer le fichier d'entrée et de
sortie en utilisant les fenêtres de chois de l'explorateur ?



Je présume que tu veux dire :
"est-il possible de lancer ce script à partir du menu contextuel
dans l'explorateur quand on sélectionne un fichier donné, et que le
nom de ce fichier soit transmis au script ?"

la réponse est OUI, il suffit de créer une sous-clef dans
HKCRtypedufichiershell

P.ex., si les fichiers .txt pointent vers
HKCRtextfile

il faudra créer :
- une sous-clef
HKCRtextfileshellMon bidouillage
avec comme valeur par défaut (p.ex.) "Bidouille"
- une sous-clef
HKCRtextfileshellMon bidouillagecommand
avec comme valeur par défaut
"C:mes bidouillesprog.cmd" %1


MAIS tu ne peux passer qu'un seul paramètre : le fichier sélectionné
(si tu en sélectionnes "n", cela lancera le script "n" fois, avec le
nom respectif de chaque fichier)


Donc il faudra dans le cas de ton script générer le fichier de sortie à
partie de celui d'entrée. C'est assez facile, p.ex. :

prog.cmd
------------- couper ici -------------
@echo off
set fileIN=%1
set fileOUT=%fileIN:~0,-4%-OUT.txt
"C:Program Filesdirprogprog.exe" -p %fileIN -o %fileOUT
pause
------------- couper ici -------------

Explication :
set fileOUT=%fileIN:~0,-4%-OUT.txt

Cette commande extrait la totalité des caractères contenus dans la
variable %fileIN%, moins les 4 derniers (=l'extension ".txt"), auxquels
on ajoute "-OUT.txt"

(pour plus d'infos, consulter l'aide sur la commande SET par la
commande "SET /?")

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.fr ou http://www.bellamyjc.org
Prosper Youp La Boum (SDI)
Le #24927912
Jean-Claude BELLAMY a émis l'idée suivante :
Le vendredi 02/11/2012 18:15:26, Serge Nazarian a écrit dans le message
Bonjour,

Je suis sous Windows 7.

Je souhaite lancer un programme, prog.exe qui ne fonctionne qu'en fenêtre
de command par
"C:Program Filesdirprogprog.exe" -p fichier_e.txt -o fichier_s.txt
où -p attende le chemin d'un fichier d'entrée et -o le chemin d'un fichier
de sortie.

J'ai donc crée un fichier prog.cmd
qui contient
"C:Program Filesdirprogprog.exe" -p %%1 -o %%2



Qu'est-ce que ces doubles "%" ??????????
SEULES les % de variables de boucle FOR qui doivent être doublés dans un
batch! (p.ex. "FOR %%F in(*.*) do echo %%F")

Par contre les paramètres formels %1, %2, ..%* restent tels quels ...

Ton fichier cmd doit donc contenir :
"C:Program Filesdirprogprog.exe" -p %1 -o %2



puis un raccourci vers prog.cmd

Je double-clique sur le raccourci, mais "on" ne me demande pas le chemin
d'entrée ni celui de sortie et cela ne fonctionne pas.



NORMAL vu l'erreur de syntaxe ci-dessus !


Je désire aussi que la fenêtre ne se ferme pas automatiquement à la fin de
l'exécution.


Il suffit d'insérer une commande PAUSE


Qui peut me dépanner ? Est-il possible d'entrer le fichier d'entrée et de
sortie en utilisant les fenêtres de chois de l'explorateur ?



Je présume que tu veux dire :
"est-il possible de lancer ce script à partir du menu contextuel
dans l'explorateur quand on sélectionne un fichier donné, et que le
nom de ce fichier soit transmis au script ?"

la réponse est OUI, il suffit de créer une sous-clef dans
HKCRtypedufichiershell

P.ex., si les fichiers .txt pointent vers
HKCRtextfile

il faudra créer :
- une sous-clef
HKCRtextfileshellMon bidouillage
avec comme valeur par défaut (p.ex.) "Bidouille"
- une sous-clef
HKCRtextfileshellMon bidouillagecommand
avec comme valeur par défaut
"C:mes bidouillesprog.cmd" %1


MAIS tu ne peux passer qu'un seul paramètre : le fichier sélectionné
(si tu en sélectionnes "n", cela lancera le script "n" fois, avec le nom
respectif de chaque fichier)


Donc il faudra dans le cas de ton script générer le fichier de sortie à
partie de celui d'entrée. C'est assez facile, p.ex. :

prog.cmd
------------- couper ici -------------
@echo off
set fileIN=%1
set fileOUT=%fileIN:~0,-4%-OUT.txt
"C:Program Filesdirprogprog.exe" -p %fileIN -o %fileOUT
pause
------------- couper ici -------------

Explication :
set fileOUT=%fileIN:~0,-4%-OUT.txt

Cette commande extrait la totalité des caractères contenus dans la variable
%fileIN%, moins les 4 derniers (=l'extension ".txt"), auxquels on ajoute
"-OUT.txt"

(pour plus d'infos, consulter l'aide sur la commande SET par la commande
"SET /?")



Il me semble de mémoire qu'un certain JCB a pondu un script qui doit
faire ça nickel.
http://jc.bellamy.free.fr/fr/explorer.html#runconsole

A+

--
Enlever YFAUTVIRER

http://pschnel.free.fr
Publicité
Poster une réponse
Anonyme