Boucle FOR et variable issu d'un fichier tiers
Résolu/Fermé
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
-
9 janv. 2017 à 09:55
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 9 janv. 2017 à 13:10
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 9 janv. 2017 à 13:10
A voir également:
- Boucle FOR et variable issu d'un fichier tiers
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
10 réponses
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
9 janv. 2017 à 10:16
9 janv. 2017 à 10:16
Bonjour,
Si je comprend bien, ACLfull.txt contiendra plusieurs fois le fichier ACL.txt, est-ce bien cela ?
Si je comprend bien, ACLfull.txt contiendra plusieurs fois le fichier ACL.txt, est-ce bien cela ?
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
2
9 janv. 2017 à 10:25
9 janv. 2017 à 10:25
Coucou,
merci de te pencher sur mon problème
Oui c'est bien ca. Le fichier ACLFull.txt contiendra plusieurs fois le fichier ACL.txt
Pour le moment j'ai un code de ce type là où la ligne:
set ContenuModifie=Alain Delon
doit devenir une variable issue du fichier usager.txt
merci de te pencher sur mon problème
Oui c'est bien ca. Le fichier ACLFull.txt contiendra plusieurs fois le fichier ACL.txt
Pour le moment j'ai un code de ce type là où la ligne:
set ContenuModifie=Alain Delon
doit devenir une variable issue du fichier usager.txt
@echo Off
cls
set FichierATraiter=c:\DroitsUsager\ACL.txt
set FichierDeSortie= c:\DroitsUsager\ACLFull.txt
set Source=template
set ContenuModifie=Alain Delon
for /f "usebackq delims=*" %%T in ("%FichierATraiter%") do (
Set TempVar=%%T
set TempVar=!TempVar:%Source%=%ContenuModifie%!
echo !TempVar!>>"%FichierDeSortie%"
endlocal
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
9 janv. 2017 à 10:58
9 janv. 2017 à 10:58
Ca devrait ressembler à ça à peu de choses près :
@echo Off
Setlocal enableextensions enabledelayedexpansion
set FichierATraiter=c:\DroitsUsager\ACL.txt
set FichierDeSortie= c:\DroitsUsager\ACLFull.txt
set usager=c:\DroitsUsager\Usager.txt
for /f "tokens=* delims=" %%A in ("%usager%") do (
set nomprenom=%%A
for /f "tokens=* delims=" %%T in ("%FichierATraiter%") do (
Set TempVar=%%T
call set TempVar=!!TempVar:template=%nomprenom%!!
echo !TempVar! >> %FichierDeSortie%
)
)
Endlocal
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
2
9 janv. 2017 à 11:00
9 janv. 2017 à 11:00
Merci,
je regarde si ça fonctionne de suite
Je te tiens au jus
je regarde si ça fonctionne de suite
Je te tiens au jus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
2
9 janv. 2017 à 11:28
9 janv. 2017 à 11:28
je viens de faire le test...et non ca ne me renvoie pas la bonne information
voici le contenu du fichier nouvellement créé ACLfull.txt:
voici le contenu du fichier nouvellement créé ACLfull.txt:
c:\DroitsUsager\ACL.txt
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
2
9 janv. 2017 à 12:02
9 janv. 2017 à 12:02
J'ai modifié ton code de:
en
Il y a du mieux mais c'est pas encorde ca. voici le fichier ACLFull.txt généré:
il y a du mieux mais ce n'est pas encore ca.
Si tu as d'autres idées je suis preneur :-)
tokens=* delims=
en
usebackq delims=*
Il y a du mieux mais c'est pas encorde ca. voici le fichier ACLFull.txt généré:
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\01 - Dossier admission\04 - Courriers",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\01 - Dossier admission\05 - Dossier administratif Accueil",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH",1,"O:BAG:DUD:AI(A;OICI;0x1301bf;;;S-1-5-21-1504173220-2678980005-1044320739-1701)"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH\01 - Dossier",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH\02 - Notification",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\03 - Contrat de séjour - DIPC",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\01 - Dossier admission\04 - Courriers",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\01 - Dossier admission\05 - Dossier administratif Accueil",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH",1,"O:BAG:DUD:AI(A;OICI;0x1301bf;;;S-1-5-21-1504173220-2678980005-1044320739-1701)"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH\01 - Dossier",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH\02 - Notification",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\03 - Contrat de séjour - DIPC",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\01 - Dossier admission\04 - Courriers",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\01 - Dossier admission\05 - Dossier administratif Accueil",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH",1,"O:BAG:DUD:AI(A;OICI;0x1301bf;;;S-1-5-21-1504173220-2678980005-1044320739-1701)"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH\01 - Dossier",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\02 - MDPH\02 - Notification",1,"O:BAG:DU"
"\\?\F:\CSES\Modele\01 - ACL\\R1 Accueillir\03 - Contrat de séjour - DIPC",1,"O:BAG:DU"
il y a du mieux mais ce n'est pas encore ca.
Si tu as d'autres idées je suis preneur :-)
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
2
9 janv. 2017 à 12:03
9 janv. 2017 à 12:03
oups voici mon code tel qu'il est lors de ce dernier test:
@echo Off
Setlocal enableextensions enabledelayedexpansion
set FichierATraiter=c:\DroitsUsager\ACL.txt
set FichierDeSortie=c:\DroitsUsager\ACLFull.txt
set usager=c:\DroitsUsager\Usagers.txt
for /f "usebackq delims=*" %%A in ("%usager%") do (
set nomprenom=%%A
echo %%A
for /f "usebackq delims=*" %%T in ("%FichierATraiter%") do (
Set TempVar=%%T
call set TempVar=!!TempVar:template=%nomprenom%!!
echo !TempVar! >> %FichierDeSortie%
)
)
Endlocal
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
9 janv. 2017 à 12:12
9 janv. 2017 à 12:12
J'ai la solution, je l'ai testé cette fois-ci :
@echo off
set FichierATraiter=c:\DroitsUsager\ACL.txt
set FichierDeSortie=c:\DroitsUsager\ACLFull.txt
set usager=c:\DroitsUsager\Usager.txt
Setlocal enableextensions enabledelayedexpansion
for /f "tokens=* delims=" %%A in (%usager%) do (
set nomprenom=%%A
for /f "tokens=* delims=" %%T in (%FichierATraiter%) do (
set ligne=%%T
call set TempVar=%%ligne:template=!nomprenom!%%
echo !TempVar! >> %FichierDeSortie%
)
echo. >> %FichierDeSortie%
)
Endlocal
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
2
9 janv. 2017 à 12:12
9 janv. 2017 à 12:12
C'est bon ca fonctionne
j'ai modifié la ligne
en
Voici le code final:
Nous venons de créer un publipostage en batch ^^
Merci pour tout
@++
j'ai modifié la ligne
call set TempVar=!!TempVar:template=%nomprenom%!!
en
call set TempVar=!!TempVar:template=%%A!!
Voici le code final:
@echo Off
Setlocal enableextensions enabledelayedexpansion
set FichierATraiter=c:\DroitsUsager\ACL.txt
set FichierDeSortie=c:\DroitsUsager\ACLFull.txt
set usager=c:\DroitsUsager\Usagers.txt
for /f "usebackq delims=*" %%A in ("%usager%") do (
set nomprenom=%%A
echo %%A
for /f "usebackq delims=*" %%T in ("%FichierATraiter%") do (
Set TempVar=%%T
echo %%T
call set TempVar=!!TempVar:template=%%A!!
echo !TempVar! >> %FichierDeSortie%
)
)
Endlocal
Nous venons de créer un publipostage en batch ^^
Merci pour tout
@++
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
2
9 janv. 2017 à 12:18
9 janv. 2017 à 12:18
Nos tests se sont croisés.
En tout cas un grand merci Barnabe.
@++
En tout cas un grand merci Barnabe.
@++
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
9 janv. 2017 à 13:10
9 janv. 2017 à 13:10
De rien ;)
Bonne journée à bientôt peut-être.
Bonne journée à bientôt peut-être.