Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1075 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [BAT] Concaténer une chaine dans un for

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[BAT] Concaténer une chaine dans un for

n°373319
antsite
Je me souviens
Posté le 27-04-2003 à 16:37:31  profilanswer
 

  Salut
 
Je n'arrive pas à mettre dans une variable la concaténation de plusiseurs nom de fichiers:
 
set COM=toto
for %i in (*.txt) do set COM=%COM% %i
@echo %COM%
 
ça marche pas, il veut pas mon set COM dans le for...
merci
   ANT

mood
Publicité
Posté le 27-04-2003 à 16:37:31  profilanswer
 

n°373746
antsite
Je me souviens
Posté le 28-04-2003 à 09:13:33  profilanswer
 

Donc je rectifie, mon code marche mais ne fait pas ce que je souhaite:
à chaque passage dans le for, la valeur de COM vaut ça
toto file1.txt
toto file2.txt
toto file3.txt
 
alors que je voudrais qu'à la fin de mon for j'ai ça:
toto file1.txt file2.txt file3.txt

n°374042
antsite
Je me souviens
Posté le 28-04-2003 à 11:26:59  profilanswer
 

:bounce:

n°374357
JPA
Posté le 28-04-2003 à 14:38:00  profilanswer
 

C'est parceque dans ton bat %com% n'est initialisé qu'à l'entrée dans le BAT.
pour contourner ce problème, et si tes noms de fichiers .txt ne comprennent pas d'espace, tu peux faire ainsi :
 
premier fichier bat : ant.bat
set COM=toto
for %%i in (*.txt) do call ant2.bat %%i
echo %COM%
 
deuxième fichier bat : ant2.bat
set toto=%toto% %1
 
A+
P.S. tu peux essayer (pas testé) si tes fichiers contiennent des espaces :
dans ant2.bat :
set toto=%toto% %1 %2 %3 %4 %5 %6 %7


Message édité par JPA le 28-04-2003 à 14:41:49
n°374972
antsite
Je me souviens
Posté le 28-04-2003 à 17:59:48  profilanswer
 

Merci!  :hello:  
 
[pinaillage on]
 
en un seul fichier tu as une idée ?
 
[/pinaillage off]

n°375497
JPA
Posté le 29-04-2003 à 08:50:28  profilanswer
 

A cette heure ci (et avant d'aller prendre mon café) non, mais je vais essayer d'y réfléchir...
A+

n°381130
antsite
Je me souviens
Posté le 03-05-2003 à 10:46:33  profilanswer
 

Salut,
Donc j'essaie mais j'y arrive pas:
ant2.bat:
@set toto=%toto% %1
 
ant.bat
set COM=toto
for %%i in (%PRJ%*.cpp) do call build2.bat %%i
echo %COM%
 
ben toto dans ant.bat n'est pas considéré comme une var donc...
set COM=%toto% marche pas non plus, encore moins
 
set toto=string
set COM=%toto%
 
help  :hello:

n°381162
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 03-05-2003 à 12:23:56  profilanswer
 

Arretez avec vos BAT et faites des VBS, c'est 15 fois plus pratique !


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
n°381163
antsite
Je me souviens
Posté le 03-05-2003 à 12:26:34  profilanswer
 

tout à fait d'accord (quoique je préfère les .js) mais l'intérête de mon .bat c'est que Context pouvait prendre la sortie console, est-ce que en vbs c'est le cas ?
en fait j'éxécute mon compiler (console) et je peux récupérer ce qu'il me dit,... en vbs c bon ?

n°381164
Tetragramm​aton IHVH
dieu unique => pensée unique
Posté le 03-05-2003 à 12:30:21  profilanswer
 

ANTSite a écrit :

tout à fait d'accord (quoique je préfère les .js) mais l'intérête de mon .bat c'est que Context pouvait prendre la sortie console, est-ce que en vbs c'est le cas ?
en fait j'éxécute mon compiler (console) et je peux récupérer ce qu'il me dit,... en vbs c bon ?


 
Utilise un '>' pour rediriger dans un fichier et lis le fichier avec un VBS, c'est plus simple que d'essayer de reinventer la roue avec un langage qui a 6 mots de vocabulaire.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
mood
Publicité
Posté le 03-05-2003 à 12:30:21  profilanswer
 

n°381316
antsite
Je me souviens
Posté le 03-05-2003 à 17:40:44  profilanswer
 

Bon avec vbs / js j'arrive pas à récupérer les fichiers *.txt, quel est l'objet / activeX et méthode pour faire ça ?
J'ai pas compris ce que tu veux redirigrer, la sortie du .bat ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [BAT] Concaténer une chaine dans un for

 

Sujets relatifs
[PHP/JS] Grande chaine de car dans une fonction js.[ASP] tronquer une chaine?
[vb(a)] je veux faire fonction qui separe une chaine de char en deux[PHP] Récupération d'une partie d'une chaîne de caractères
Recherche dans une chaine[PHP] recherche de motifs dans une chaîne, regex
chaine de longeur fixe [facile mais jy arrrive po]Renomer des fichier en BAT
[FORTRAN] convertir une chaine caractere en entiercomment vérifier qu'une chaine ne commence ni ne fini par un espace
Plus de sujets relatifs à : [BAT] Concaténer une chaine dans un for


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR