batch - utilisation de variables
Dernière réponse : dans Programmation
Bonjour,
Depuis peu on m'a demandé d'écrire un script batch. Jusqu'à présent tout va à peu pret bien.
Voilà où ça ne va plus je vous mets le bout de code
C'est au niveau du set que ça coince je souhaite que ma variable soit du type nomVariable-argument et pouvoir lui affecter une valeur, et me resservir de cette variable facilement plus tard.
Si quelqu'un pouvait éclairer ma lanterne.
Merci d'avance
Depuis peu on m'a demandé d'écrire un script batch. Jusqu'à présent tout va à peu pret bien.
Voilà où ça ne va plus je vous mets le bout de code
for /F %%A in (%P_LOGS%\list.txt) do (
%P_TOOLS%\dvget.exe %%A %RO% %OID% > %P_LOGS%\t3-%%A.txt
type %P_LOGS%\t3-%%A.txt
set /p s-%%A=<%P_LOGS%\t3-%%A.txt
)
C'est au niveau du set que ça coince je souhaite que ma variable soit du type nomVariable-argument et pouvoir lui affecter une valeur, et me resservir de cette variable facilement plus tard.
Si quelqu'un pouvait éclairer ma lanterne.
Merci d'avance
Autres pages sur : batch utilisation variables
Lassé par la pub ? Créez un compte
Citation :
Eclairons ta lanterne :Tu as un problème d'expansion retardée de variables d'environnement
Pour en savoir plus, demande l'aide de la commande SET :
C:\> HELP SET
Pour en savoir encore plus, demande l'aide de la commande SETLOCAL :
C:\> HELP SETLOCAL
Notamment en ce qui concerne ENABLEDELAYEDEXPANSIONRe bonjour,
Toujours dans le registre des variables est il possible de mettre dans une variable le résultat d'un commande DOS un peu complexe ?
Voilà l'exemple
set status=find /c "%OID%" %P_TOOLS%dvget.exe %network%%%i %RO% %OID%
et voici le résultat affiché par
echo %status%
find /c "1.3.6.1.2.1.2.2.1.7.1" ..\tools\dvget.exe 192.168.21.231 public 1.3.6.1.2.1.2.2..7.1
J'aurai souhaité avoir directement dans la variable status le nombre de ligne contenant ma chaine de caractere.
Je souhaite utilisé FIND pour compter le nombre de lignes comportant une chaine de caractères donnée. C'est pourquoi j'utilise
Sinon y a-t-il une autre fonction pour récupérer sous forme de chiffre (pour permettre une comparaison) le nombre de lignes d'un fichier contenant une string donnée ?
/C Displays only the count of lines containing the string.
Sinon y a-t-il une autre fonction pour récupérer sous forme de chiffre (pour permettre une comparaison) le nombre de lignes d'un fichier contenant une string donnée ?
Non, c'est ce qui suit FIND qui m'étonne :
Toi tu écris
Je l'écrirais plustôt comme ça :
Pour mettre un résultat dans une variable, on peut détourner la commande FOR.
Exemple :
Tips: Le chapeau est là pour échapper le signe |
FIND [option] "PATERN" fichiers
Toi tu écris
FIND [option] "PATERN" commande complète
Je l'écrirais plustôt comme ça :
commande paramètres | FIND /C "PATERN"
Pour mettre un résultat dans une variable, on peut détourner la commande FOR.
Exemple :
FOR /F %%i in ( 'commande^|FIND /C "PATTERN"' ) DO SET A=%%i
Tips: Le chapeau est là pour échapper le signe |
Citation :
Pour mettre un résultat dans une variable, on peut détourner la commande FOR.
Exemple :
FOR /F %%i in ( 'commande^|FIND /C "PATTERN"' ) DO SET A=%%i
Tips: Le chapeau est là pour échapper le signe |
tiens merci du conseil
pour j'utilise un fichier tempaire couplé a un [inlinecode]set /<je sais plus quel switch>[/inlinecode]¹
-------------------
¹ : NEED !!!
Citation :
¹ : NEED !!!tellement que je m'en suis occupé : http://kangol.prout.be/gm/md_inlinecode.user.js
Merci ça avance doucement mais surement
Une petite question tout de même que je n'arrive pas à résoudre :
comment faire pour utiliser des variables
set /a Var2=Var2+1
set /p nb%Var2%=<%P_LOGS%\snmptest-%Var2%.txt
echo %nb%Var2%%
Donc en fait j'ai par exemple Var2=2 et j'aimerai avoir une variable nb2 puis au coup suivant Var2=3 et nb3 donc ma tentative d'écrire sous la forme nb%Var2% mais je n'arrive pas à afficher cette valeur ensuite
Une petite question tout de même que je n'arrive pas à résoudre :
comment faire pour utiliser des variables
set /a Var2=Var2+1
set /p nb%Var2%=<%P_LOGS%\snmptest-%Var2%.txt
echo %nb%Var2%%
Donc en fait j'ai par exemple Var2=2 et j'aimerai avoir une variable nb2 puis au coup suivant Var2=3 et nb3 donc ma tentative d'écrire sous la forme nb%Var2% mais je n'arrive pas à afficher cette valeur ensuite
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumDos batch variables substring
- ForumDans une batch dos comment fonctionne les variables
- ForumDos batch environment variables
- ForumDos batch local variables
- ForumBatch concatener deux variables
- ForumDos batch file local variables
- ForumLes variables en c
- ForumActualiser les variables denvironnement au cours dun batch
- ForumJsp variables avec
- ForumVariable batch
- Voir plus