ok
Version imprimable
ok
Rebonjour,
j'ai une autre petitie question ;) :
comment fait-on pour executer une serie de commande X fois (je suppose qu'il faut utiliser for mais je ne sait pas trop comment) ? .. si possible, en utilisant qu'un seul fichier...
En etffet avec un boucle for, celle-ci s'éxécute 10 fois:
Pour quoi veut tu l'éxécuter plusieur foi cette commande, et c'est quoi cette commande ?Code:for /l %%i in (0,1,10) do echo %%i
le probleme est qu'avec cette methode, on ne peut executer qu'une seule commande par boucle => comment faire pour pouvoir faire plusieurs commande à la fois (sans utiliser de fichiers externes si possible)
je veux faire ça car j'ai un tableau de variables à afficher (une ligne = une boucle. une colonne = une commande)
mes commandes par boucles sont
%i% etant le numero de la ligneCode:
1
2
3
4 snmpset -v 1 -c public %IP_SRC% ROW %i% snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID1% snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID2% snmpget -v 1 -c public %IP_SRC% %VAR_SNMP_ID3%
sinon, je pensais utiliser une solution à base de if et de goto mais le probleme est qu'il faudrait pouvoir incrémenter une variable et je ne sais pas comment faire...
Précise un peut:
Quelles commandes veut tu utiliser plusieurs fois.
Tu veut incrémenter une variable pour ajoueter un chiffer a celle-ci, par exemple : Var1 var2 var3 ect... ?
Si c'est ca on incrément une variable come ceci:
Code:for /l %%i in (0,1,10) do Set /a VarTest+=1
=> je viens de modifier mon post precedentCitation:
Envoyé par koKoTis
merci ça marche l'incrementation avec set /a : je peux donc utiliser ma solution.
mais par curiosité, j'aimerais bien savoir comment faire pour executer plusieurs lignes de commande dans un for...
Tu fait comme ca:
Ou comme ca:Code:
1
2
3
4
5
6 for /l %%i in (0,1,10) do ( Set /a VarTest+=1 ligne 2 ligne 3 ect.. )
Code:for /l %%i in (0,1,10) do Set /a VarTest+=1 & ligne 2 & ligne 3 & ect..
ok, merci pour l'info ;)
rebonjour,
j'ai un autre probleme
dans un dossier, j'ai pleins de sous dossiers (dont je ne connais pas les noms) avec à l'interrieur le fichier toto.exe (meme nom de partout)
=> je voudrais balayer tous les sous dossier et lancer le .exe
=> je voudrais sortir la liste des sous dossier dans un fichier texte en mettant avant et après du texte, la liste de ces sous-repertoire
Donc dans chaque sous dossier tu a un fichier .exe qui a le même nom a chaque foi ? c'est bien ca ?Citation:
Envoyé par Emcy
Tu veut lancer tous les .exe ou un seul ?Citation:
Envoyé par Emcy
Tu voudrai ajouter la liste des sous répertoire dans un fichier .txt contenant déja du texte, et tu voudrai l'ajouter au mileu de ce texte ? c'est bien ca ?Citation:
Envoyé par Emcy
Pour ajouter la liste au mileu du texte a ma conaissance ce n'est pas possible en batch.
Tu veut juste les nom des répertoire ou aussi les fichier ?
ouiCitation:
Envoyé par koKoTis
tousCitation:
Envoyé par koKoTis
=> je veux faire un fichier avec a l'interrieur un truc du genre :Citation:
Envoyé par koKoTis
mon repertoire est toto woua
mon repertoire est titi woua
mon repertoire est tutu woua
...
autant de ligne que de repertoire (c'est toujour le meme texte)
=> juste les repertoiresCitation:
Envoyé par koKoTis
Bon pour exécuter tous les .exe c'est comme ca:
Et voici une boucle qui va lister les répertoires dans un fichier.txt:Code:for /r "%source%\" %%i in (*.exe) do start "%%i" & pause
Code:for /f %%i in ('dir /b /ad /a %source%') do echo %%i>> fichier.txt
ok merci
De rien ;)
Rebonjour,
j'ai un nouveau soucis sur la manipulation des commandes snmpget et snmpset...
je reviens sur la commande snmpget qui me renvoie un fichier texte en faisant ceci :
voici ce que contient le fichier texte (il y a des retours automatiques à la ligne) :Code:snmpget [argument] > monfichier.txt
=> je voudrais recuperer le texte de ce fichier et le mettre dans une variable batch (avec la bonne mise en forme) pour que je puisse l'utiliser avec ma commande "snmpset"Code:
1
2
3
4
5
6 SNMPv2-SMI::enterprises.20000.8.1.0 = Hex-STRING: 3F 00 02 80 F3 14 00 00 00 20 00 00 00 30 00 00 00 40 00 00 00 50 00 00 00 60 00 00 00 70 00 00 00 80 00 00 00 90 00 00 00 A0 00 00 00 B0 00 00 00 C0 00 00 00 D0 00 00 00 E0 00 00 2C FB 00 00 32 00 02 00 62 00 03 00 26 00 04 00 32 00 02 00 6A 00 05 00 2E 00 02 00
=> il faudrait pouvoir recuperer le contenu du fichier dans une variable de façon que la valeur de la variable soit sous cette forme (tout sur une seule ligne) :
c'est possible (ça devient compliqué la) ?Code:"3F 00 02 80 F3 14 00 00 00 20 00 00 00 30 00 00 00 40 00 00 00 50 00 00 00 60 00 00 00 70 00 00 00 80 00 00 00 90 00 00 00 A0 00 00 00 B0 00 00 00 C0 00 00 00 D0 00 00 00 E0 00 00 2C FB 00 00 32 00 02 00 62 00 03 00 26 00 04 00 32 00 02 00 6A 00 05 00 2E 00 02 00"
Ceci fonctionne:
Code:
1
2
3
4
5
6
7 for /f "delims=" %%i in ('type fichier.txt') do set VrTt=%%i& call :trait goto suit :trait set VrTest=%VrTest%%VrTt% goto :eof :suit echo %VrTest%
merci beaucoup, ça marche nickel ;) ....