Page 1 sur 1
programme "invisible"
Posté : 02 nov. 2014 15:52
par ale49100
bonjour a tous,
je voudrais ouvrir un bat sans créer de fenêtre mais je ne sais pas comment faire (j'ai essayé avec des attributs de start mais sa ne marche pas)
merci d'avance
Re: programme "invisible"
Posté : 03 nov. 2014 00:23
par -- batchman --
Hé c'est encore moi
Tu peux passer par un programme vbs ; imagine que tu pars d'un batch ça te donnerai un truc du genre :
Code : Tout sélectionner
@echo off
if exist prog.vbs goto batch
(
echo set variable=wscript.createobject("wscript.shell")
echo commande=batch.bat
echo wscript.run Shell, 0,true
echo wscript.quit
) > prog.vbs
start prog.vbs
:batch
Rem Ici tu mets le code de ton batch qui sera traité sans afficher l'invite ;-)
...
Bon je ne suis plus très sûr du code
mais t'inquiète pas je te tient au courant !
Re: programme "invisible"
Posté : 03 nov. 2014 00:36
par ale49100
cool merci
par contre je comprend pas tout : pourquoi il faut que le programme que je veut lancer soit en vbs et quel code je dois mettre au niveau du rem ?
je crois que tu est mon sauveur
Re: programme "invisible"
Posté : 03 nov. 2014 23:33
par -- batchman --
Hé hé regarde moi ça
Code : Tout sélectionner
@echo off
if exist prog.vbs goto batch
set "commandes=set variable=wscript.createobject("wscript.shell");commande="invisible.bat";variable.run commande, 0, true;wscript.quit"
:scriptmaker
if "%commandes%"=="" (
start prog.vbs
exit
)
for /f "tokens=1* delims=;" %%a in ("%commandes%") do (echo %%a >> prog.vbs & set commandes=%%b)
goto scriptmaker
:batch
for /l %%a in (1 1 10) do (start calc)
tskill calc
del prog.vbs
Là je vient de te montrer un exemple
: pour ton batch il suffit que tu mettes ton vrai code entre ces deux lignes :
Dans mon exemple le code batch qui est masqué (la charge active
) c'est ça :
Code : Tout sélectionner
:batch
for /l %%a in (1 1 10) do (start calc)
tskill calc
del prog.vbs
Pour répondre à ta question, ce vbs est un script intermédiaire (et oui le batch tient à son invite de commandes
) qui permet d'exécuter en arrière plan le batch !
De cette façon, il te suffit de lancer ce programme que tu enregistre en .bat et c'est ce programme qui se chargera du reste
Si tu as des questions, je suis là
Re: programme "invisible"
Posté : 04 nov. 2014 20:44
par ale49100
je teste ça et je te tient au courant
Re: programme "invisible"
Posté : 04 nov. 2014 21:06
par ale49100
j'ai un problème : quand je le lance sa me crée bien un .vbs mais un fois qu'il est crée si je re-lance le .bat ou le .vbs sa ne marche pas
sa m'ouvre bien le programme qui doit être caché mais il est affiché dans l'invite de commande
Re: programme "invisible"
Posté : 05 nov. 2014 02:37
par -- batchman --
Autant pour moi
peut être as tu cru qu'il fallait faire un retour à la ligne ici (indiqué en rem) mais non c'est juste que ma chaine est très longue
Le code final ici :
Code : Tout sélectionner
@echo off
if exist prog.vbs goto batch
set "commandes=set
Rem La ligne au dessus de ce rem et celle en dessous sont une seule ligne !
variable=wscript.createobject("wscript.shell");commande="invisible.bat";variable.run commande, 0, true;wscript.quit"
:scriptmaker
if "%commandes%"=="" (
start prog.vbs
exit
)
for /f "tokens=1* delims=;" %%a in ("%commandes%") do (echo %%a >> prog.vbs & set commandes=%%b)
goto scriptmaker
:batch
for /l %%a in (1 1 10) do (start calc)
tskill calc
del prog.vbs
Essaie comme ça maitenant si tu t'étais fait avoir :
Code : Tout sélectionner
set"commandes=setvariable=wscript.createobject("wscript.shell");commande="invisible.bat";variable.run commande, 0, true;wscript.quit"
Et met les espaces ici :
set "commandes=set variable=....
En espérant avoir pu t'aider
Re: programme "invisible"
Posté : 20 déc. 2014 13:24
par LNOW
Quelque chose de plus facile, mais pas vraiment ce que tu veux
START /MIN mon_script.cmd
Ca ne l'affiche pas, mais ça le met dans la barre des tâches quand même.
On va dire "furtif" mais pas invisible....
Re: programme "invisible"
Posté : 21 déc. 2014 19:55
par ale49100
merci, mais j'ai deja essayé et ce n'est pas sa que je veut mais merci quand meme ^^
Re: programme "invisible"
Posté : 24 déc. 2014 01:44
par -- batchman --
L'idéal est de réunir tout ça dans un vbs, qui créera un batch puis l'exécutera,
et tout cela en arrière plan !
Mais bon, comme on parle de batch je préférais que le code source soit du batch
A +