Concaténer une chaine dans un for [BAT] - Shell/Batch - Programmation
Marsh Posté le 28-04-2003 à 09:13:33
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
Marsh Posté le 28-04-2003 à 14:38:00
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
Marsh Posté le 28-04-2003 à 17:59:48
Merci!
[pinaillage on]
en un seul fichier tu as une idée ?
[/pinaillage off]
Marsh Posté le 29-04-2003 à 08:50:28
A cette heure ci (et avant d'aller prendre mon café) non, mais je vais essayer d'y réfléchir...
A+
Marsh Posté le 03-05-2003 à 10:46:33
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
Marsh Posté le 03-05-2003 à 12:23:56
Arretez avec vos BAT et faites des VBS, c'est 15 fois plus pratique !
Marsh Posté le 03-05-2003 à 12:26:34
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 ?
Marsh Posté le 03-05-2003 à 12:30:21
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 ? |
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.
Marsh Posté le 03-05-2003 à 17:40:44
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 ?
Marsh Posté le 27-04-2003 à 16:37:31
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