Batch, incrementer des variables
Résolu
poparnassus
Messages postés
426
Date d'inscription
Statut
Membre
Dernière intervention
-
poparnassus Messages postés 426 Date d'inscription Statut Membre Dernière intervention -
poparnassus Messages postés 426 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je souhaite ecrire dans mon fichier tableau mes variables var!cols! donc qui s'incremente a chaque tour de boucle ligne et colonne.
Je veux les ecrires par ligne, car var!cols! est dynamique, pour lexemple j'ai defini une limite mais cette limite sera variable.
donc le resultat que je veux dans mon fichier tableau:
ligne1= L1_C1,L1_C2,L1_C3,L1_C4,L1_C5,etc
ligne2= L2_C1,L2_C2,L2_C3,L2_C4,L2_C5, etc
Pour recuperer les valeur j'utilises ses deux boucles, mais voila je n'arrive pas a m'en servir pour definir toute mes variable L1_C1 à Ln_Cn..
@echo off SETLOCAL ENABLEDELAYEDEXPANSION Mode con cols=80 lines=35 @for %%n in (%0) do set chemin=%%~dpn ::--------------------------------------------------------------- :Environnement set tempx=!chemin!tempx\ set tableau=!tempx!tableau.txt del /Q !tempx! ::--------------------------------------------------------------- :Configuration set /a cols_max=10 set /a lign_max=20 set /a boucle_main=0 ::--------------------------------------------------------------- :init ::--------------------------------------------------------------- :main set /a boucle_main+=1 set /a boucle_ligne=0 set /a lign=0 set /a cols=0 :ligne set /a boucle_colonne=0 set /a boucle_ligne+=1 set /a lign+=1 set /a cols=0 :colonne set /a cols+=1 set /a boucle_colonne+=1 set /a var!cols!=L!lign!_C!cols! if not !cols!==!cols_max! goto colonne cls set /a charg_main=100*((!lign!)/!lign_max!) echo [!charg_main!%%] if not !charg_main!==100 goto ligne
je souhaite ecrire dans mon fichier tableau mes variables var!cols! donc qui s'incremente a chaque tour de boucle ligne et colonne.
Je veux les ecrires par ligne, car var!cols! est dynamique, pour lexemple j'ai defini une limite mais cette limite sera variable.
donc le resultat que je veux dans mon fichier tableau:
ligne1= L1_C1,L1_C2,L1_C3,L1_C4,L1_C5,etc
ligne2= L2_C1,L2_C2,L2_C3,L2_C4,L2_C5, etc
Pour recuperer les valeur j'utilises ses deux boucles, mais voila je n'arrive pas a m'en servir pour definir toute mes variable L1_C1 à Ln_Cn..
::for /f "tokens=%tokenboucle1% delims=," %%a in ("!tableau!") do ( set data_mot_rch=%%a) ::for /f "tokens=1,* delims=:" %%a in ('findstr /n /r . "!tableau!" ^| findstr "^^%boucle_ligne%:"') do (set data_S1=%%b)
A voir également:
- Increment variable batch
- Fichier batch - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Echo off batch ✓ - Forum Autoit / batch
1 réponse
hello
C:> type aa.bat
@echo off
setlocal enableDelayedExpansion
for /L %%a in (1,1,5) do (
set l=ligne%%a=
for /L %%b in (1,1,5) do (
set l=!l!L%%a_C%%b,
)
set l=!l:~0,-1!
echo !l!
)
C:> aa
ligne1=L1_C1,L1_C2,L1_C3,L1_C4,L1_C5
ligne2=L2_C1,L2_C2,L2_C3,L2_C4,L2_C5
ligne3=L3_C1,L3_C2,L3_C3,L3_C4,L3_C5
ligne4=L4_C1,L4_C2,L4_C3,L4_C4,L4_C5
ligne5=L5_C1,L5_C2,L5_C3,L5_C4,L5_C5
C:>
set l=!l!L%%a_C%%b,
qui donne
set l=!l!^!L%%a_C%%b^!,
pour que a chaque ligne j'ai !L1_C1!,!L1_C2!, etc, mais ca marche pas