Script BATCH, Incrémenté le nom d'une variable
poparnassus
Messages postés
462
Statut
Membre
-
dubcek Messages postés 19021 Statut Contributeur -
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,
Sous windows7 script batch,
je souhaite incrémenté le nom d'une variable, comment faire ?
:start
@echo off
setlocal enabledelayedexpansion
mode con cols=100 lines=30
:initialisation variable
set fichier1=base1
set fichier2=texte_crypt.txt
: Je transmet le contenue du fichier1,2 dans les variable var1,2
set /P var2= < !fichier2!
set /P var1= < !fichier1!
set /A tour=0
token1=1^,2^,3^,4^,5^,6^,7^,8^,9^,10^,11^,12^,13^,14^,15^,16^,17^,18^,19^,20^,21^,22
^,23^,24^,25^,26
set
token2=2^,4^,6^,8^,10^,12^,14^,16^,18^,20^,22^,24^,26^,1^,3^,5^,7^,9^,11^,13^,15^,17
^,19^,21^,23^,25
set token3=1^,2^,3^,4^,5^,6^,7^,8^,9^,10^,11
:main
cls
set /A tour=!tour!+1
set ligne=!tour!
:condition
: le programme ce termine au 10 eme tour de boucle, je voudrais qu'il se stope a la
fin du fichier texte !fichier1!
if !tour!==10 goto exit
if !tour!==1 set token=!token1!
if !tour!==2 set token=!token2!
if !tour!==3 set token=!token3!
if !tour!==4 set token=!token4!
if !tour!==5 set token=!token5!
: Cette boucle for me permet de recuperer le contenu de la ligne X du fichier text
!fichier1! à chaque tour de boucle via le compteur !tour! dans la variable !l!
: je souhaiterai incrementer ma variable !l! a chaque tour
: du genre:
: tour 1 l=%%b
: tour 2 l2=%%b
: tour 3 l3=%%b
for /f "tokens=1,* delims=:" %%a in ('findstr /n /r . "!fichier1!" ^| findstr "^
%ligne%:"') do (
set l=%%b
)
:partie2
:Ci dessous je recupere le contenue de ma variable crée precedement et la traite.
for /f "tokens=%token% delims= " %%A in ("%l%") do (set a=%%A) && (set b=%%B) &&
(set c=%%C) && (set d=%%D) && (set e=%%E) && (set f=%%F) && (set g=%%G) && (set h=%
%H) && (set i=%%I) && (set j=%%J) && (set k=%%K) && (set l=%%L) && (set m=%%M) &&
(set n=%%N) && (set o=%%O) && (set p=%%P) && (set q=%%Q) && (set r=%%R) && (set s=%
%S) && (set t=%%T) && (set u=%%U) && (set v=%%V) && (set w=%%W) && (set x=%%X) &&
(set y=%%Y) && (set z=%%Z)+
:JE souhaite que a chaque tour de boucle mes variables de "a" à "z" s'incremente
: du genre:
: 1er boucle set a=%%A ... set z=%%z
: 2eme tour boucle set a2=%%A ... set z2=%%z
: 3eme tour boucle set a3=%%A ... set z3=%%Z
pause
goto main
:exit
cls
echo FIN DU SCRIPT
pause
endlo
Sous windows7 script batch,
je souhaite incrémenté le nom d'une variable, comment faire ?
:start
@echo off
setlocal enabledelayedexpansion
mode con cols=100 lines=30
:initialisation variable
set fichier1=base1
set fichier2=texte_crypt.txt
: Je transmet le contenue du fichier1,2 dans les variable var1,2
set /P var2= < !fichier2!
set /P var1= < !fichier1!
set /A tour=0
token1=1^,2^,3^,4^,5^,6^,7^,8^,9^,10^,11^,12^,13^,14^,15^,16^,17^,18^,19^,20^,21^,22
^,23^,24^,25^,26
set
token2=2^,4^,6^,8^,10^,12^,14^,16^,18^,20^,22^,24^,26^,1^,3^,5^,7^,9^,11^,13^,15^,17
^,19^,21^,23^,25
set token3=1^,2^,3^,4^,5^,6^,7^,8^,9^,10^,11
:main
cls
set /A tour=!tour!+1
set ligne=!tour!
:condition
: le programme ce termine au 10 eme tour de boucle, je voudrais qu'il se stope a la
fin du fichier texte !fichier1!
if !tour!==10 goto exit
if !tour!==1 set token=!token1!
if !tour!==2 set token=!token2!
if !tour!==3 set token=!token3!
if !tour!==4 set token=!token4!
if !tour!==5 set token=!token5!
: Cette boucle for me permet de recuperer le contenu de la ligne X du fichier text
!fichier1! à chaque tour de boucle via le compteur !tour! dans la variable !l!
: je souhaiterai incrementer ma variable !l! a chaque tour
: du genre:
: tour 1 l=%%b
: tour 2 l2=%%b
: tour 3 l3=%%b
for /f "tokens=1,* delims=:" %%a in ('findstr /n /r . "!fichier1!" ^| findstr "^
%ligne%:"') do (
set l=%%b
)
:partie2
:Ci dessous je recupere le contenue de ma variable crée precedement et la traite.
for /f "tokens=%token% delims= " %%A in ("%l%") do (set a=%%A) && (set b=%%B) &&
(set c=%%C) && (set d=%%D) && (set e=%%E) && (set f=%%F) && (set g=%%G) && (set h=%
%H) && (set i=%%I) && (set j=%%J) && (set k=%%K) && (set l=%%L) && (set m=%%M) &&
(set n=%%N) && (set o=%%O) && (set p=%%P) && (set q=%%Q) && (set r=%%R) && (set s=%
%S) && (set t=%%T) && (set u=%%U) && (set v=%%V) && (set w=%%W) && (set x=%%X) &&
(set y=%%Y) && (set z=%%Z)+
:JE souhaite que a chaque tour de boucle mes variables de "a" à "z" s'incremente
: du genre:
: 1er boucle set a=%%A ... set z=%%z
: 2eme tour boucle set a2=%%A ... set z2=%%z
: 3eme tour boucle set a3=%%A ... set z3=%%Z
pause
goto main
:exit
cls
echo FIN DU SCRIPT
pause
endlo
A voir également:
- Script BATCH, Incrémenté le nom d'une variable
- Script vidéo youtube - Guide
- Fichier batch - Guide
- Nom de l'adresse - Forum Jeux vidéo
- Mas script - Accueil - Windows
- Trouver un nom avec une adresse ✓ - Forum Réseaux sociaux