Un super script promotionnel (et trollesque) Batch
44 réponses
Do Re Mi chel La Si Do
Bonjour !
Je vous ai concocté le script ci-dessous, pour montrer l'incroyable
supériorité du Batch, sur tous les autres langages de script (y compris le
Verlan). Seul Python, AutoIt! et l'Occitan peuvent faire aussi bien.
J'attend, d'ailleurs, les réactions épidermiques, et, forcément partiales
(normal ; yakemoi qui suis, par hypothèse, impartial).
Bref, que fait ce script ? Hé bien, il verrouille un site, par son adresse
IP et un port. Dès que l'on veut s'y connecter, le process est tué (dans les
2 secondes).
Pour tester, j'ai mis l'adresse IP d'un de mes sites : http://ponx.org
Lancez le script dans une invite de commande ; lancez I.E. ; allez sur
http://ponx.org ; constatez.
@+
MCI
PS : le script est prévu pour Windows-XP-Pro en français.
Voilà le script :
@echo off
:: Supprime les process qui se connectent à une adresse IP
set IPDEL=213.186.47.206:80
:: pour tester : http://ponx.org
:SCAN
set PID=
netstat -ano |find "%IPDEL%" >TEMP.TXT
for /F "usebackq tokens=*" %%i in (TEMP.TXT) do (call :STO %%i)
if X%PID%X==XX goto :CONTINUE
call :TRAIT %PID%
:CONTINUE
sleepm 2000
goto :SCAN
Comme, en Python, on peut enchaîner les fonctions sur un objet (je parle de la structure du langage, et non de la programmation orientée objet), on peut faire plus sobre :
import os,time while 1: lig=os.popen('netstat -ano |find "213.186.47.206:80"').read().split(' ')[-1].lstrip() if len(lig)>0: os.popen('taskkill /PID '+lig) time.sleep(2)
@+
MCI
Re
Comme, en Python, on peut enchaîner les fonctions sur un objet (je parle de
la structure du langage, et non de la programmation orientée objet), on peut
faire plus sobre :
import os,time
while 1:
lig=os.popen('netstat -ano |find "213.186.47.206:80"').read().split('
')[-1].lstrip()
if len(lig)>0: os.popen('taskkill /PID '+lig)
time.sleep(2)
Comme, en Python, on peut enchaîner les fonctions sur un objet (je parle de la structure du langage, et non de la programmation orientée objet), on peut faire plus sobre :
import os,time while 1: lig=os.popen('netstat -ano |find "213.186.47.206:80"').read().split(' ')[-1].lstrip() if len(lig)>0: os.popen('taskkill /PID '+lig) time.sleep(2)
@+
MCI
Salut,
Que ce passe-t-il lorsque j'utilise en proxy????... Ben plus rien, ton script ne sert donc à rien, désolé! :)
A+
"Do Re Mi chel La Si Do" a écrit dans le message de news:
Bonjour !
Je vous ai concocté le script ci-dessous, pour montrer l'incroyable supériorité du Batch, sur tous les autres langages de script (y compris le Verlan). Seul Python, AutoIt! et l'Occitan peuvent faire aussi bien.
J'attend, d'ailleurs, les réactions épidermiques, et, forcément partiales (normal ; yakemoi qui suis, par hypothèse, impartial).
Bref, que fait ce script ? Hé bien, il verrouille un site, par son adresse IP et un port. Dès que l'on veut s'y connecter, le process est tué (dans les 2 secondes).
Pour tester, j'ai mis l'adresse IP d'un de mes sites : http://ponx.org Lancez le script dans une invite de commande ; lancez I.E. ; allez sur http://ponx.org ; constatez.
@+
MCI
PS : le script est prévu pour Windows-XP-Pro en français.
Voilà le script :
@echo off :: Supprime les process qui se connectent à une adresse IP
set IPDEL!3.186.47.206:80 :: pour tester : http://ponx.org
:SCAN set PID > netstat -ano |find "%IPDEL%" >TEMP.TXT for /F "usebackq tokens=*" %%i in (TEMP.TXT) do (call :STO %%i) if X%PID%X==XX goto :CONTINUE call :TRAIT %PID% :CONTINUE sleepm 2000 goto :SCAN
:STO set PID=%5 goto :EOF
:TRAIT @taskkill /PID %1 goto :EOF
Salut,
Que ce passe-t-il lorsque j'utilise en proxy????... Ben plus rien, ton
script ne sert donc à rien, désolé! :)
A+
"Do Re Mi chel La Si Do" <enleverlesO.OmcO@OmclaveauO.com> a écrit dans le
message de news: OJqcKAgtFHA.3596@TK2MSFTNGP15.phx.gbl...
Bonjour !
Je vous ai concocté le script ci-dessous, pour montrer l'incroyable
supériorité du Batch, sur tous les autres langages de script (y compris le
Verlan). Seul Python, AutoIt! et l'Occitan peuvent faire aussi bien.
J'attend, d'ailleurs, les réactions épidermiques, et, forcément partiales
(normal ; yakemoi qui suis, par hypothèse, impartial).
Bref, que fait ce script ? Hé bien, il verrouille un site, par son
adresse IP et un port. Dès que l'on veut s'y connecter, le process est tué
(dans les 2 secondes).
Pour tester, j'ai mis l'adresse IP d'un de mes sites : http://ponx.org
Lancez le script dans une invite de commande ; lancez I.E. ; allez sur
http://ponx.org ; constatez.
@+
MCI
PS : le script est prévu pour Windows-XP-Pro en français.
Voilà le script :
@echo off
:: Supprime les process qui se connectent à une adresse IP
set IPDEL!3.186.47.206:80
:: pour tester : http://ponx.org
:SCAN
set PID > netstat -ano |find "%IPDEL%" >TEMP.TXT
for /F "usebackq tokens=*" %%i in (TEMP.TXT) do (call :STO %%i)
if X%PID%X==XX goto :CONTINUE
call :TRAIT %PID%
:CONTINUE
sleepm 2000
goto :SCAN
Que ce passe-t-il lorsque j'utilise en proxy????... Ben plus rien, ton script ne sert donc à rien, désolé! :)
A+
"Do Re Mi chel La Si Do" a écrit dans le message de news:
Bonjour !
Je vous ai concocté le script ci-dessous, pour montrer l'incroyable supériorité du Batch, sur tous les autres langages de script (y compris le Verlan). Seul Python, AutoIt! et l'Occitan peuvent faire aussi bien.
J'attend, d'ailleurs, les réactions épidermiques, et, forcément partiales (normal ; yakemoi qui suis, par hypothèse, impartial).
Bref, que fait ce script ? Hé bien, il verrouille un site, par son adresse IP et un port. Dès que l'on veut s'y connecter, le process est tué (dans les 2 secondes).
Pour tester, j'ai mis l'adresse IP d'un de mes sites : http://ponx.org Lancez le script dans une invite de commande ; lancez I.E. ; allez sur http://ponx.org ; constatez.
@+
MCI
PS : le script est prévu pour Windows-XP-Pro en français.
Voilà le script :
@echo off :: Supprime les process qui se connectent à une adresse IP
set IPDEL!3.186.47.206:80 :: pour tester : http://ponx.org
:SCAN set PID > netstat -ano |find "%IPDEL%" >TEMP.TXT for /F "usebackq tokens=*" %%i in (TEMP.TXT) do (call :STO %%i) if X%PID%X==XX goto :CONTINUE call :TRAIT %PID% :CONTINUE sleepm 2000 goto :SCAN
:STO set PID=%5 goto :EOF
:TRAIT @taskkill /PID %1 goto :EOF
Do Re Mi chel La Si Do
'jour !
Ça dépend comment tu utilises le proxy. Si tu passes par un autre port, il faut penser à modifier le port dans le script... Pour l'utilité réelle du script, il ne faut pas en attendre grand chose. C'est juste pour montrer une faisabilité.
@-salutations
Michel Claveau
'jour !
Ça dépend comment tu utilises le proxy. Si tu passes par un autre port, il
faut penser à modifier le port dans le script...
Pour l'utilité réelle du script, il ne faut pas en attendre grand chose.
C'est juste pour montrer une faisabilité.
Ça dépend comment tu utilises le proxy. Si tu passes par un autre port, il faut penser à modifier le port dans le script... Pour l'utilité réelle du script, il ne faut pas en attendre grand chose. C'est juste pour montrer une faisabilité.
@-salutations
Michel Claveau
Jean
for (;;) { $myline=$(netstat -ano|where {$_ -match $ipdel}) if ($myline) { $procid=$($myline.split()[-1] if ($procid) {(gps -id $procid).kill()} } start-sleep 20 }
Une variante ... qui n'apporte pas grand chose, je l'avoue :-) :
#---8<--- # Ferme le client News si il accède à msnews.microsoft.com # Ctrl + C pour quitter
Je ne serais pas surpris que la nouvelle version de MSH qui sera disponible aux States lundi permette d'encore réduire le code :-)
Amicalement,
-- Jean - JMST Belgium
~Jean-Marc~ [MVP]
Salutations *Do Re Mi chel La Si Do* ! Dans <news:% tu nous disais :
- pourquoi dis-tu "seulement avec cscript ?" ; ça fonctionne bien en wscript...
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
- avec netstat -no, au lieu de -ano, tu "sautes" UDP ; c'est voulu ?
Hum... Sauf erreur de ma part, http n'utilises pas de connexion udp ?
- l'utilisation de ReadLine est intéressante, car elle élimine le séparateur de ligne final ; mais tous les langages ne se comportent pas pareillement.
Oui, j'avais commencé avec un ReadAll, mais c'est galère : faut parser après.
- pourquoi ai-je parlé de "deux" questions ?
:-)))
Cordialement
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations *Do Re Mi chel La Si Do* !
Dans <news:%234EFd5stFHA.1256@TK2MSFTNGP09.phx.gbl>
tu nous disais :
- pourquoi dis-tu "seulement avec cscript ?" ; ça fonctionne bien
en wscript...
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est
le principal.
- avec netstat -no, au lieu de -ano, tu "sautes" UDP ; c'est voulu
?
Hum... Sauf erreur de ma part, http n'utilises pas de connexion udp ?
- l'utilisation de ReadLine est intéressante, car elle élimine le
séparateur de ligne final ; mais tous les langages ne se comportent
pas pareillement.
Oui, j'avais commencé avec un ReadAll, mais c'est galère : faut
parser après.
- pourquoi ai-je parlé de "deux" questions ?
:-)))
Cordialement
--
~Jean-Marc~ MSAE & MVP Windows XP Fr
M'écrire : http://msmvps.com/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations *Do Re Mi chel La Si Do* ! Dans <news:% tu nous disais :
- pourquoi dis-tu "seulement avec cscript ?" ; ça fonctionne bien en wscript...
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
- avec netstat -no, au lieu de -ano, tu "sautes" UDP ; c'est voulu ?
Hum... Sauf erreur de ma part, http n'utilises pas de connexion udp ?
- l'utilisation de ReadLine est intéressante, car elle élimine le séparateur de ligne final ; mais tous les langages ne se comportent pas pareillement.
Oui, j'avais commencé avec un ReadAll, mais c'est galère : faut parser après.
- pourquoi ai-je parlé de "deux" questions ?
:-)))
Cordialement
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
~Jean-Marc~ [MVP]
Salutations ** ! Dans <news:43242ed7$0$14833$ tu nous disais :
Que ce passe-t-il lorsque j'utilise en proxy????... Ben plus rien, ton script ne sert donc à rien, désolé! :)
A vue de nez, si on invoque un objet iexplore, on devrait pouvoir connaitre l'URL en cours d'utilisation. (Pas certain : à vérifier)
@+
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations *R@lf* !
Dans <news:43242ed7$0$14833$626a54ce@news.free.fr>
tu nous disais :
Que ce passe-t-il lorsque j'utilise en proxy????... Ben plus rien,
ton script ne sert donc à rien, désolé! :)
A vue de nez, si on invoque un objet iexplore, on devrait
pouvoir connaitre l'URL en cours d'utilisation.
(Pas certain : à vérifier)
@+
--
~Jean-Marc~ MSAE & MVP Windows XP Fr
M'écrire : http://msmvps.com/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations ** ! Dans <news:43242ed7$0$14833$ tu nous disais :
Que ce passe-t-il lorsque j'utilise en proxy????... Ben plus rien, ton script ne sert donc à rien, désolé! :)
A vue de nez, si on invoque un objet iexplore, on devrait pouvoir connaitre l'URL en cours d'utilisation. (Pas certain : à vérifier)
@+
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Jean
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
Je crois que vous confondez la propriété stdout de Wscript : http://msdn.microsoft.com/library/en-us/script56/html/wsProStdOut.asp et celle de l'objet WshScriptExec retourné par la méthode exec de wscript.shell: http://msdn.microsoft.com/library/en-us/script56/html/wslrfStdOutProperty.asp
Amicalement,
-- Jean - JMST Belgium
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est
le principal.
Je crois que vous confondez la propriété stdout de Wscript :
http://msdn.microsoft.com/library/en-us/script56/html/wsProStdOut.asp
et celle de l'objet WshScriptExec retourné par la méthode exec de
wscript.shell:
http://msdn.microsoft.com/library/en-us/script56/html/wslrfStdOutProperty.asp
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
Je crois que vous confondez la propriété stdout de Wscript : http://msdn.microsoft.com/library/en-us/script56/html/wsProStdOut.asp et celle de l'objet WshScriptExec retourné par la méthode exec de wscript.shell: http://msdn.microsoft.com/library/en-us/script56/html/wslrfStdOutProperty.asp
Amicalement,
-- Jean - JMST Belgium
Fred
Dans : news:, ~Jean-Marc~ [MVP] disait :
Salutations *Do Re Mi chel La Si Do* ! Dans <news:% tu nous disais :
- pourquoi dis-tu "seulement avec cscript ?" ; ça fonctionne bien en wscript...
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
Bonsoir, J'arrive après la très intéressante bataille. Je me suis interrogé sur ce que dit la doc au sujet de stdout. Je pense que cela s'applique au script en cours d'exécution. Quand tu fais un Exec, tu récupères un (autre) objet WshScriptExec qui est muni de stdin, stdout et stderr.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Dans : news:Oq0QLnutFHA.3864@TK2MSFTNGP12.phx.gbl,
~Jean-Marc~ [MVP] disait :
Salutations *Do Re Mi chel La Si Do* !
Dans <news:%234EFd5stFHA.1256@TK2MSFTNGP09.phx.gbl>
tu nous disais :
- pourquoi dis-tu "seulement avec cscript ?" ; ça fonctionne bien
en wscript...
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est
le principal.
Bonsoir,
J'arrive après la très intéressante bataille.
Je me suis interrogé sur ce que dit la doc au sujet de stdout.
Je pense que cela s'applique au script en cours d'exécution.
Quand tu fais un Exec, tu récupères un (autre) objet WshScriptExec qui
est muni de stdin, stdout et stderr.
Salutations *Do Re Mi chel La Si Do* ! Dans <news:% tu nous disais :
- pourquoi dis-tu "seulement avec cscript ?" ; ça fonctionne bien en wscript...
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
Bonsoir, J'arrive après la très intéressante bataille. Je me suis interrogé sur ce que dit la doc au sujet de stdout. Je pense que cela s'applique au script en cours d'exécution. Quand tu fais un Exec, tu récupères un (autre) objet WshScriptExec qui est muni de stdin, stdout et stderr.
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
~Jean-Marc~ [MVP]
Salutations *Jean* ! Dans <news: tu nous disais :
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
Je crois que vous confondez la propriété stdout de Wscript : http://msdn.microsoft.com/library/en-us/script56/html/wsProStdOut.asp et celle de l'objet WshScriptExec retourné par la méthode exec de wscript.shell: http://msdn.microsoft.com/library/en-us/script56/html/wslrfStdOutProperty.asp
Exact... :-S Y'avait une grosse confusion entre les 2...
Amicalement,
Pareillement :-)
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations *Jean* !
Dans <news:mn.5c437d59f07d3cbd.3499@windows>
tu nous disais :
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est
le principal.
Je crois que vous confondez la propriété stdout de Wscript :
http://msdn.microsoft.com/library/en-us/script56/html/wsProStdOut.asp
et celle de l'objet WshScriptExec retourné par la méthode exec de
wscript.shell:
http://msdn.microsoft.com/library/en-us/script56/html/wslrfStdOutProperty.asp
Exact... :-S Y'avait une grosse confusion entre les 2...
Amicalement,
Pareillement :-)
--
~Jean-Marc~ MSAE & MVP Windows XP Fr
M'écrire : http://msmvps.com/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Ah ? La doc de stdout dis le contraire ? Enfin, si ça marche, c'est le principal.
Je crois que vous confondez la propriété stdout de Wscript : http://msdn.microsoft.com/library/en-us/script56/html/wsProStdOut.asp et celle de l'objet WshScriptExec retourné par la méthode exec de wscript.shell: http://msdn.microsoft.com/library/en-us/script56/html/wslrfStdOutProperty.asp
Exact... :-S Y'avait une grosse confusion entre les 2...
Amicalement,
Pareillement :-)
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
~Jean-Marc~ [MVP]
Salutations *Fred* ! Dans <news:% tu nous disais :
J'arrive après la très intéressante bataille. Je me suis interrogé sur ce que dit la doc au sujet de stdout. Je pense que cela s'applique au script en cours d'exécution. Quand tu fais un Exec, tu récupères un (autre) objet WshScriptExec qui est muni de stdin, stdout et stderr.
Oui, exact. Je n'ai découvert stdout que récemment et je ne pensais pas qu'il puisse y en avoir deux "versions" différentes...
Mais c'est bon maintenant, je crois que j'ai compris... <VBG>
@+
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations *Fred* !
Dans <news:%23shsWxutFHA.3236@TK2MSFTNGP14.phx.gbl>
tu nous disais :
J'arrive après la très intéressante bataille.
Je me suis interrogé sur ce que dit la doc au sujet de stdout.
Je pense que cela s'applique au script en cours d'exécution.
Quand tu fais un Exec, tu récupères un (autre) objet WshScriptExec qui
est muni de stdin, stdout et stderr.
Oui, exact. Je n'ai découvert stdout que récemment et je ne pensais pas
qu'il puisse y en avoir deux "versions" différentes...
Mais c'est bon maintenant, je crois que j'ai compris... <VBG>
@+
--
~Jean-Marc~ MSAE & MVP Windows XP Fr
M'écrire : http://msmvps.com/docxp/contact.aspx
- http://docxp.mvps.org - http://msmvps.com/docxp/ -
Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/
Salutations *Fred* ! Dans <news:% tu nous disais :
J'arrive après la très intéressante bataille. Je me suis interrogé sur ce que dit la doc au sujet de stdout. Je pense que cela s'applique au script en cours d'exécution. Quand tu fais un Exec, tu récupères un (autre) objet WshScriptExec qui est muni de stdin, stdout et stderr.
Oui, exact. Je n'ai découvert stdout que récemment et je ne pensais pas qu'il puisse y en avoir deux "versions" différentes...
Mais c'est bon maintenant, je crois que j'ai compris... <VBG>
@+
-- ~Jean-Marc~ MSAE & MVP Windows XP Fr M'écrire : http://msmvps.com/docxp/contact.aspx - http://docxp.mvps.org - http://msmvps.com/docxp/ - Aide en DIRECT sur Internet : http://communautes-ms.akro-net.org/