Problèmes Batch.
Forum Programmation : Problèmes Batch.
Hello,
Je viens ici poster différents problèmes que j'ai rencontré en batch, et venir vous demander des explications
Je vais donc vous poster des extraits de batch où ça coince :
1)
Code :
|
Ici, il y a un problème d'errorlevel.
J'ai des fichiers introuvables qui apparaissent en console, il semble y avoir un problème avec l'errorlevel dans les boucles FOR. Un développeur m'a conseillé de traiter la chose à partir d'un fichier texte.
2)
Code :
|
Et j'obtiens finalement ça : Mémoire vive totale : 2ÿ046 Mo
3)
Code :
|
Deux problèmes :
- Sur l'ordinateur d'une autre personne, toutes les lignes s'affichent modifiées, pourtant je ne spécifie pas de délimiteurs (or ceux par défaut sont l'espace et la tabulation, donc je ne comprends pas où est le problème).
- J'avais envie que la ligne ::1 dans le fichier Hosts (qui correspond au localhost) ne soit pas mis en ligne modifiée, mais je n'y arrive pas.
4) @echo off & cls
dir /A "*.%1" >> var.log
dir /A "%2" >> var.log
var.log & del var.log
exit
Pour le %2, ça marche pour %windir%, %systemdrive%\, mais étrangement pas pour %programfiles%, une idée ?
5) for %%A in (%windir%\bak\skytel.exe) do (set var=%%^~dpA& set var=%var:bak^\=%& echo %var%)
Or, cela m'affiche %var% .. Mon but est d'obtenir seulement %windir% (j'aurais aimé faire ça sur un groupe de fichiers).
Il semblerait que le problème soit que ce soit un groupe de fichiers qui soit traité dans une boucle for.
Car l'assignation et le fait de transtyper la variable marche autrement (commande dans un boucle for, ou quand on est pas dans une boucle for).
Voilà, merci pour vos réponses !
et eric veut pas t'aider ?
Message édité par OmaR le 02-08-2008 à 09:33:07
Ça va faire trois mois que c'est dans ses MP
![]()
Enfin, il a beaucoup de boulot plus ses deux programmes en batch, donc je le laisse tranquille à part de temps en temps sur la cat ![]()
Pour mon dernier problème, on a pas trouvé de soluce.
Message édité par XmichouX le 02-08-2008 à 10:30:29
Répondre à XmichouX
A mon avis ton 4), ça doit être à cause de l'espace qu'il y a dans "Program Files".
Sinon le reste c'est du batch trop compliqué pour moi
Il servira à quoi ce fameux programme ?
A+
Hello,
Ce sont tous des fragments de programme.
Il n'y en a même qui ne sont pas des programmes, mais des essais de commande.
Répondre à XmichouX
Oui j'avais remarqué que les programmes n'étaient pas entiers
Mais le but du programme final ce sera quoi ?
A+
Il n'y a pas de programme final ! ![]()
Ils n'ont rien en commun. Ce sont juste des problèmes que j'ai eu avec ces parties là ![]()
@omar,
pourtant je mets des guillemets comme çash : "%programfiles%"
Message édité par XmichouX le 02-08-2008 à 21:57:22
Répondre à XmichouX
Ah okey
Merci
Vous faites du bon boulot
1), j'imagine que c'est comme pour les variables. Je pense qu'il faudrait tester l'expansion retardée des variables (et donc remplacer les % en !).
http://www.infos-du-net.com/forum/ [...] hier-texte
2) que donne ceci:
Code :
|
ajout un echo de mem après le for pour être spur que le problème vient du for.
3) qu'affichent %%A et %%B ?
4) As-tu testé en enlevant les guillemets dans le script et en les mettant lors de l'appel? (je ne me rappelle plus comment le batch interprète 2 guillemets).
5) Déjà dans le DO, utilise plusieurs lignes plutôt que les & et utilise l'expansion retardée des variables.
Message édité par CRicky le 04-08-2008 à 15:50:41
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello Cricky
1) Donc !! ou setlocal enableextensions ?
2) Mémoire physique totale: 2 046 Mo
Voilà. Il y a bien un espace (logiqument) entre le 2 et 046.
3) %%A affiche l'adresse IP et %%B le domaine correspondant.
Ex : 127.0.0.1(%%A) localhost (%%B)
4) ça ne change rien, c'est un mystère ..
5) Il me semble avoir déjà essayé les deux options que tu m'as indiqué, sans succès.
je viens de ressayer ça ne marche pas :
@echo off & cls
|
Truc bizarre... La raison du pourquoi j'ai regroupé les instructions avec le & est qu'ici, le message qui apparaît est "commande echo désactivée", comme si le %var% derrière n'était pas présent.
Merci
[Je pars en vacances, serai de retour dans ~2 semaines]
Répondre à XmichouX
1) je ne crois pas que ça fasse partie des extensions (peut-être), on peut activer l'expansion en modifiant une clé dans la base de registre ou lancer cmd avec le commutateur qui va bien. Bref, dans tous les cas, une fois activée, il faut l'utiliser cette expansion avec !var!
2) Et l'affichage de mem donne quoi ? Si c'est pareil, fait un echo %%D %%E
Tu as peut-être aussi un problème d'expansion retardé. Ce qui est bizarre c'est que le caractère espace 0x20 semble se transformer en 0xFF.
3) Essaie en ajoutant des guillemets dans le if:
if NOT "%%A"=="127.0.0.1"
Je les mets toujours, mais je ne sais plus si c'est obligatoire.
4) Enlève le @echo off et montre tout
5) comme tu sépares les commandes, il te faut utilise l'expansion retardée !var!. Dans ta boucle VAR est toujours vide car var est effectivement modifié après le for. Donc tu fais un "echo" vide qui affiche donc ce message.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello,
1) Pour setlocal si
ENABLEEXTENSIONS / DISABLEEXTENSIONS
active ou désactive les extensions de commandes. Entrez
CMD /? pour plus de détails.
Je testerai quand je serai de retour
2) L'affichage de mem c'est ça : 2ÿ046 Mo
Tu penses que je devrais essayer avec un set local et les ! ? J'essaierai donc de retour
3)
| Citation : if NOT "%%A"=="127.0.0.1" |
Déjà fait, mais je peux toujours ressayer (avec la personne concernée par le "beug" ).
Normalement, on doit pouvoir mettre ou bien rien ou bien des ' ou bien des " autour des variables ?..?
4) Sans guillemets à programfiles en argument ( mais il y en a déjà autour de la variable dans le bat!)
C:\Users\Antoine\Desktop>dir /A "*.exe" 1>>var.log
C:\Users\Antoine\Desktop>dir /A "C:\Program" 1>>var.log
Fichier introuvable
C:\Users\Antoine\Desktop>var.log & del var.log
avec guillemets :
C:\Users\Antoine\Desktop>dir /A ""C:\Program Files\"" 1>>var.log
Le fichier spécifié est introuvable.
Maintenant des guillemets en trop
5)
| Citation : Donc tu fais un "echo" vide qui affiche donc ce message. |
logiquement, même si la variable est nule, ça devrait afficher %var% et non pas rien comme si je demandais l'état de la commande, non ?
Euh je remplace quels %% , tous ?
For !!A ?
ça ne marche pas.
Sinon si je remplace les % que dans la boucle, !var! apparaît à l'écran.
Répondre à XmichouX
1) ça ne dit toujours pas que que l'expansion retardée fait partie des extensions
2) ou tester en mettant toi-même les delims
3) Le problème avec le batch, c'est que ça a évolué avec les OS
4) Teste ce que j'avais dis: pas de guillemet dans le batch, et des guillemets à l'appel
5)
| Citation :
|
les variables en batch c'est comme les #define en C, ce n'est que tu remplacement de textedonc si la variable est vide ta commande devient "echo " ce qui affiche le message.
| Citation : Euh je remplace quels %% , tous ?
|
Dans les boucles FOR, ce ne sont pas vraiment des variables d'environnements (d'ailleurs on n'utilise pas %A% mais bien %A ou %%A dans un script).
Donc, le FOR garde son %%A, c'est juste pour les variables d'environnement (avec un SET) où il faut mettre !var!
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello
1) En faisant comme ça :
setlocal enableextensions
for /f "tokens=*" %%A in ('dir "%systemdrive%\" /S /AD /B ^| find /i "BAK"') do if /i '%%~nA'=='BAK' (
dir /b /a-d "%%A" >nul 2>nul
if !errorlevel!==0 (
for /f "tokens=*" %%B in ('dir /B /A-D "%%A"') do (
cd "%%~dpA"
if exist %%B (
echo -^(BAD^)- %%~dpA%%B
echo -^> -^(LEGITIME^)- %%A\%%B
echo.
echo.
)))) >> "%desktop%\LZ.log"
endlocal
Plus de message d'erreur apparemment, mais la recherche ne se fait pas correctement. Les fichiers trouvés ne s'affichent plus
2) Que veux-tu dire ? Il y a déjà delims spécifié dans ma boucle.
3)
4) Bravo, ça marche
Curieux quand on y réfléchit.
En mettant des guillemets dans le batch et pas de guillemets pour %programfiles% à l'appel, ça ne marche pas, alors que l'inverse marche. Sans compter le fait que le problème ne se pose qu'avec cette variable.
5) Bah pourtant si je fais :
set var=
echo %var%
C'est %var% qui s'affichera. Je n'ai pas du bien comprendre
Sinon ça me met !var! :s
merci!
Répondre à XmichouX
1) quelle est la partie qui coince?
2) Il te manque peut-être des caractères de délimitation
4) quand tu ne mets pas de guillemet au lancement, l'interpréteur y voit un second paramètre (ce qui est logique), donc avant le lancement du .bat, le répertoire est déjà découpé par l'interpréteur "appelant", tu ne faisais que mettre des variable autour du paramètre découpé.
5) c'est parce que tu n'as pas activé l'expansion retardé (qui est différent de enableextension).
Dans un for, une variable d'environnement (j'exclus évidemment les %%A, %%B, etc) n'est effectivement modifié que lorsque la ligne de commande (donc le for) est terminé. Donc ça t'affiche la variable, mais si tu la modifie dans la boucle, alors pendant toute la boucle elle aura la même valeur, et seulement une fois la boucle terminée, elle aura la valeur finale.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello,
1) Je ne sais pas trop, j'ai fait une capture d'écran pour te montrer.
Je précise que j'ai un fichier C:\Windows\Skytel et j'ai mis un fake dans C:\Windows\BAK pour le programme, donc normalement, ils doivent apparaître (et apparaissaient) dans le rapport final ce qui en se produit pas.
On dirait que ça coince sur la variable %%B ?
En plus de ça, il y a les problèmes d'accès aux dossiers de jonctions de Vista, ce qui met la pagaille
2) Penses-tu à la tabulation ?
Je suis déçu, j'ai fait ce test en console :
for /f "tokens=1-3*" %A in ('systeminfo ^| find /i "totale"') do echo %D
Il s'affiche bien 2 046 mo
Je refais dans mon batch :
for /f "tokens=1-3*" %%A in ('systeminfo ^| find /i "totale"') do set mem=%%D > NUL
Et même résultat qu'avant
4) Un peu de mal à comprendre, mais je vois bien que ce n'est pas simple à expliquer
5) Ok
Répondre à XmichouX
1) ajoute des echo un peu partout pour voir si ça fait bien les for et if
2) Redirige dans un fichier et regarde en hexa ce qu'il y a entre 2 et le 0
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
1 )
Tu veux dire : Mettre des echo quelque chose à chaque ligne quasiment ?
2) En hexa je fais comment ?
Merci
Répondre à XmichouX
1) oui
2) notepad++ avec le plugin HEX-editor
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Yop,
Pour le plugin, j'ai téléchargé la dll zippée sur sourceforge.net, j'ai mis la dll dézippée dans le dossier plugin de notepad ++. Mais apparemment le plugin n'est pas compatible.
J'ai vu qu'il y avait un logiciel Hex Editor , j'utilise celui-là ?
Pour le un, je posterai avec ma prochaine réponse .
Répondre à XmichouX
Pourquoi pas compatible? tu n'as pas le petit bouton "H" vers la fin ? ni Plugins>HEX-Editor>View in Hex
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello,
Voici une image (ma version de Notepad ++ est normalement à jour, la mise à jour automatique étant activée).
Répondre à XmichouX
Récupère les 2 parties ici:
http://notepad-plus.sourceforge.ne [...] hp?lang=fr
Message édité par CRicky le 29-08-2008 à 21:18:07
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Yop,
"2" parties ?
Je ne suis pas sûr de comprendre.
Je me suis rendu en bas de la balle pour les plugins et celui-là en particulier qui m'a mené sur cette page :
http://sourceforge.net/project/sho [...] _id=222593
Ou le fichier à télécharger est finalement le même que celui téléchargé.
Ou bien dois-je prendre le patch ? (seulement ou en plus)
Merci
Répondre à XmichouX
A mon avis, les 2 parties = Notepad++ et le plugin ;-)
oui les 2 parties: notepad++ et plugin HEX-Editor
http://sourceforge.net/project/sho [...] _id=102072
http://sourceforge.net/project/sho [...] _id=222593
Message édité par CRicky le 30-08-2008 à 11:19:03
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Ah cette fois, ça marche
J'ai ça :
0d 0a 32 ff 30 34 36 20 4d 6f 0d 0a
Si tu veux plus de précisions, je peux faire un screen ^^
Répondre à XmichouX
C'est bien ce que je pensais, tu n'a pas d'espace (0x20) entre le 2 (0x32) et le 4 (0x34), mais un 0xFF.
Essaie en copie ce caractère pour l'ajouter en delims dans le FOR, c'est pas sûr que ça marche comme c'est un caractère spécial.
En fait, je pense que ça a été fait exprès pour que lorsqu'on découpe par espace on puisse prendre tout le nombre parce qu'on ne sait pas combien d'espace il y a dans le nombre. Donc si le for avec le caractère 0xFF fonctionne il faudra faire une seconde boucle for pour éliminer ce caractère.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
| Citation : En fait, je pense que ça a été fait exprès pour que lorsqu'on découpe par espace on puisse prendre tout le nombre parce qu'on ne sait pas combien d'espace il y a dans le nombre |
Malin en effet, je ne serais pas arrivé à cette conclusion.
Mais bon il suffit de faire ça en tokens=unnombre-l'autre* et le problème est réglé normalement pour voir tout le nombre.
Par contre désolé, mais j'ai du mal à suivre pour l'opération que je dois faire dans mon for
Tu veux dire copier le caractère spécial et le mettre en delims c'est bien ça ?
Répondre à XmichouX
En fait pas besoin d'imbriquer, une fois que tu as fais ta variable, tu peux faire un for /F sur la commande 'echo %tavariable%' que tu peux donc découper (non testé).
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Mais vu que le délimiteur est un caractère apparemment mal interprété, le problème est le même, il faut que j'arrive à le mettre dans delims, non ?
Répondre à XmichouX
Oui, et si tu ne peux pas, je ne vois pas comment faire ça simplement.
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello,
Mémoire vive totale : 2ÿ046 Mo
Toujours ça ![]()
Avec ceci dans le batch :
for /f "tokens=1-3* delims=ÿ " %%A in ('systeminfo ^| find /i "totale"') do set mem=%%D > NUL
Le truc c'est qu'en console, ce caractère n'apparaît pas, où bien il est mal interprété et interprété comme un espace.
-----------
Pour l'autre en changeant la partie comme ça :
setlocal enableextensions
for /f "tokens=*" %%A in ('dir "%systemdrive%\" /S /AD /B ^| find /i "BAK"') do if /i '%%~nA'=='BAK' (
dir /b /a-d "%%A" >nul 2>nul
echo youpi
if !errorlevel!==0 (
echo Youpi2
for /f "tokens=*" %%B in ('dir /B /A-D "%%A"') do (
cd "%%~dpA"
echo yOUpi3
if exist %%B (
echo Youpi4
echo -^(BAD^)- %%~dpA%%B
echo -^> -^(LEGITIME^)- %%A\%%B
echo.
echo.
)))) >> "%desktop%\LZ.log"
endlocal
J'obtiens dans le log final :
youpi
youpi
youpi
(jai trois dossiers bak)
Donc ça coince à nouveau au niveau de l'errorlevel, avant ça l'exécutait tout le temps, et là ça n'exécute rien, enfin je crois.
Message édité par XmichouX le 01-09-2008 à 12:05:06
Répondre à XmichouX
On en revient au même problème: as-tu activé l'expansion retardée des variables d'environnement ?
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Je n'avais pas mi le bon truc, en effet, c'est setlocal enableDelayedExpansion.
Le résultat est :
ça marche impeccable
Donc, moral de l'histoire, activer l'expansion retardée, si on met des conditions dans des boucles ou des conditions , c'est ça ?
Je vais essayer voir si ça le fait pour mon fichier Hosts
Merci. Te tiens a ucourant.
Répondre à XmichouX
oui cette option est pour utiliser le !var! au lieu de %var% dans les boucles et variables
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello
Le problème est résolu pour le 5 grâce à l'expansion retardée.
!
pour le 3), tu penses que ça peut se régler avec l'expansion retardée ?
Je n'ai pas réussi, mais je n'avais que des variables de type for ..
Répondre à XmichouX
Je ne pense pas que ça règle le 3)
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Ok
Donc on peut le considérer comme insoluble
Répondre à XmichouX
Hello,
Can you help me for an other thing ?
J'avais un exercice sur un forum où je devais trouver une technique pour quelque chose à faire, j'ai choisi le batch : je me sers de ça
for /F %%A in ('dir /B /AD "%userprofile%"') do ( echo %%A ) >> youpi.log
Enfin c'était pas la même chose , mais vu que ça ne marchait pas, j'ai mis seulement un echo %%A.
Mais je n'arrive pas à obtenir le nom entier des dossiers, à partir du moment où ils comprennent des espaces.
Note: j'ai essayé "%%A", mais ça ne marche pas mieux, can you help me plz ?
Le truc que je comprends pas, c'est qu'une fois, j'avais fait un batch similaire pour un personne et les noms des dossiers s'affichaient correctement voir ce sujet :
http://www.infos-du-net.com/forum/ [...] es#t321096
Dans le sujet, tu verras que les noms d'utilisateurs s'affichent bien.
Je vois peut être pas une différence qui est grosse comme une maison ... ?
Message édité par XmichouX le 26-09-2008 à 19:25:08
Répondre à XmichouX
En fait dans le for /F, l'espace et la tabulation sont les séparateurs par défaut, donc si tu as 2 espaces, tout va être séparer dans %%A, %%B et %%C.
Bref, je vois 2 possibilités:
- soit tu redéfinis les délimitateur, et tu n'en mets aucun: FOR /F "delims=" %%A ...
- soit tu gardes le délimitateur par défaut, et tu indiques ton propre découpage de morceaux, en disant que tu veux tout le reste (avec *) dès le début: FOR /F "tokens=*" %%A ...
Dans ton autre exemple, tu as la seconde solution. Personnellement, je préfère plutôt le première. ![]()
Message édité par CRicky le 26-09-2008 à 20:36:59
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
| Citation : En fait dans le for /F, l'espace et la tabulation sont les séparateurs par défaut, donc si tu as 2 espaces, tout va être séparer dans %%A, %%B et %%C. |
Ah mais oui! Qu'est-ce qui m'arrive, j'avais complètement zappé ça. Merci !
En fait, quand j'ai posté dans ce sujet, j'ai du oublier le "tokens=*" , car dans mon exercice, je l'ai bien mis, mais le batch ne marche tout de même pas correctement.
Je t'explique vite fait la chose (c'est pas un exercice en fait) :
Dans %userprofile%, un virus cherche les sous dossiers, et se copie dans chaque sous dossier sous cette forme : [nomdudossier].exe
Donc j'ai fait ça :
Code :
|
Or, cela ne marche pas.
Réponse :
| Citation : Something went wrong on my testcomputer
|
Comprends-tu pourquoi ?
Je remarque le même type d'erreur sur le mien, en faisant ceci :
Code :
|
J'obtiens :
| Citation : C:\Users\Antoine
|
Je me demande si les jonctions de vista ne pourraient pas poser problème, mais de toute façon, ça ne se limite pas à ça, j'ai du faire une erreur ? mais laquelle .. je ne trouve pas
En tout cas, merci beaucoup ! J'espère que c'est pas un truc bête, sinon ça veut dire que j'ai complètement régressé.
Répondre à XmichouX
Je pense que ton répertoire courant est bien changé, et que c'est juste un problème d'affichage de %CD% comme la variable d'environnement est modifiée dans la boucle, elle n'est effectivement modifiée qu'une fois la boucle terminée.
C'est encore un problème d'expansion retardée, donc active-le et utilise echo !CD!
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Hello,
Effectivement, c'est bien ça ![]()
Je me demande pourquoi je n'y ai pas pensé, toujours utiliser l'expansion retardée dans une boucle, si on utilise une variable.
En ce qui concerne l'autre, as-tu une idée ?
Sinon je vais essayer de détourner le truc comme ceci :
Code :
|
?
Merci ! Mais bon, logiquement, il devrait marcher celui d'avant.
Je vais lui demander de changer le batch parce que j'avais mis des crochets autour du %%A alors qu'y en a pas .
Message édité par XmichouX le 27-09-2008 à 11:42:11
Répondre à XmichouX
Oui essaie le nouveau, et pour l'autre ajoute des traces pour savoir ce qui se passe vraiment
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Oki, merci !
Je lui ai demandé de refaire sans les crochets. Si ça ne marche toujours pas, je mettrai des echo un peu de partout pour voir ce que ça donne.
Merci, je te tiens au courant
D'ailleurs, un peu plus tard peut-être, est-ce que tu es accessible pour des questions sur l'hexadécimal ? (Entre autre dans le registre)
Répondre à XmichouX
Pose toujours la question, quelqu'un d'autre peut aussi te répondre
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky
Oki, ce sera un peu plus tard.
Alors pour le batch (sans les []), je l'ai essayé sur mon XP.
J'ai mis dans le dossier Bureau, Bureau;exe, et pareil pour d'autres dossiers.
Résultat, le batch n'ouvre pas de log.
Seulement le fichier qui est trouvé dans le premier dossier est supprimé et le programme ferme.
Il doit y avoir un problème .. Je vais essayer de voir si je peux le faire apparaître ![]()
edit: Je n'arrive à rien avoir de concluant (j'ai enlevé echo off & mis une pause après l'arrêt du processus et la suppression) :
| Citation :
C:\Documents and Settings\Toinou>set malware=0 C:\Documents and Settings\Toinou>for /F "tokens=*" %A in ('dir /AD /B') do (if e C:\Documents and Settings\Toinou>(if exist ".limewire\.limewire.exe" ( C:\Documents and Settings\Toinou>(if exist ".VirtualBox\.VirtualBox.exe" ( C:\Documents and Settings\Toinou>(if exist "Application Data\Application Data.ex C:\Documents and Settings\Toinou>(if exist "Bootvis\Bootvis.exe" ( C:\Documents and Settings\Toinou>(if exist "Bureau\Bureau.exe" ( |
Donc là, j'ai copié pendant la pause.
Bon le processus est pas lancé, donc c'est normal, je rappuie sur une touche, ça supprime Bureau.exe, je rappuie, du texte défile très vite, et ça se coupe, je n'ai le temps de rien faire, je vais essayer d'ajouter une pause, mais je ne pense pas que ça va marcher .. ça ne marche pas ^^
J'ai regardé le log :
ça donne ça
| Citation : Appuyez sur une touche pour continuer ... |
Alors là, je vois pas ce qui marche, je pensais au else. Mais la suite s'exécute, et la variable malware n'est pas bien modifiée..
Message édité par XmichouX le 27-09-2008 à 12:42:13
Répondre à XmichouX
Il y a 2107 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
