Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
[NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR
Auteur Message
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Bonjour tout le monde,

Je ne suis pas un AS de programmation Batch, et j'aurai besoin de votre aide par rapport au programme ci-dessous:
Code:
echo on
for /f "tokens=1,2,3,4,5 delims=|" %%a in (%1) do  (
echo un     : %%a
echo deux   : %%b
echo trois  : %%c
echo quatre : %%d
echo cinq   : %%e
) > output.txt

Le fichier input (%1) est le suivant : 1|2|3||5|

Le résultat obtenu est le suivant :
Code:
un     : 1
deux   : 2
trois  : 3
quatre : 5
cinq   :


Par contre, moi je m'attend à avoir ce résultat :
Code:

un     : 1
deux   : 2
trois  : 3
quatre :
cinq   : 5


==> Pourriez vous m'aidez svp ?

Merci par avance.
Cordialement.




______________________________________________________
Ali
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Sujet déplacé dans la section adéquate. merci de poster au bon endroit à l'avenir et d'utiliser la balises de code.

Sinon pour ton problème, c'est tout à fait nomal.




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Bonjour,

Désolé pour l'utilisation de section inappropriée.


Je sais que normal, mais est ce qu'il y a un moyen de contournement ?




______________________________________________________
Ali
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Hello,

Voici au plus simple, lol:
Code:

echo on
for /f "tokens=1,2,3,4,5 delims=|" %%a in (%1) do  (
echo un     : %%a
echo deux   : %%b
echo trois  : %%c
echo quatre :
echo cinq   : %%d
) > output.txt


Sinon, il faut vérifier chaque contenu ... comme ceci:
Code:

@echo off

for /f "tokens=1 delims=|2345" %%§ in (%1) do set un=%%§
for /f "tokens=1 delims=|1345" %%§ in (%1) do set deux=%%§
for /f "tokens=1 delims=|1245" %%§ in (%1) do set trois=%%§
for /f "tokens=1 delims=|1235" %%§ in (%1) do set quatre=%%§
for /f "tokens=1 delims=|1234" %%§ in (%1) do set cinq=%%§

echo un     : %un%  >> output.txt
echo deux   : %deux%  >> output.txt
echo trois  : %trois%  >> output.txt
echo quatre : %quatre%  >> output.txt
echo cinq   : %cinq%  >> output.txt

pause





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Merci pour cette réponse.

La première solution n'est guerre satisfaisante, mais c'était bien tenté ;-)

Par contre la deuxième me donne des idées, mais ça ne correspond toujours pas à ce je veux.

En fait, j'ai un fichier entrée qui contient 37 variables séparées par des |
et il faut que je récupère chaque variable et l'afficher avec un certain commentaire dans un ligne à part.

Si je ne me trompe pas, ton script ne fonctionne qu'avec 19 variables au plus, d'où "delims=|23456789" par exemple.
Je vais essayer de segmenter ma ligne d'entrée en 4 chaine de caractères différentes, par la suite je serai en mesure d'utiliser ton script.

Merci.

Cdt




______________________________________________________
Ali
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
En plus, ton script affiche des 0 au lieu de 'rien', alors que dans le fichier d'entée, on peut avoir des valeurs positionnées à 0...




______________________________________________________
Ali
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Re,

Envois un bout de ton fichier, et ce que tu veux au final .... parce que là, le code ne marchera pas ...

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Bonjour,

Ci-joint le batch, le fichier input, le fichier output ainsi que le résultat souhaité.

Dans le script, j'ai splitté en deux partie car les variables de %%a à %%z ne me suffisent pas...

le fichier input qui contient 37 variables séparées par des |, une variable peut contenir une valeur, peut contenir un 0 et peut être vide
Il faut récupérer chaque variable (y compris les variables vides) et les afficher dans le fichier output.

Merci pour votre aide.
cdt

(Voici le lien pour télécharger le fichier joint) : http://www.sendspace.com/file/mx1sy2



Dernière édition par sprere16 le Mar 23 Nov 2010 - 14:03; édité 1 fois

______________________________________________________
Ali
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Bonjour
aucun fichier n'est joint.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Ok, tu n'étais pas loin du résultat ^^
je te fais ça ce soir ou demain matin !
Tu bosse dans un centre d'appel ?
@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Merci bcp.
Non, je suis ingénieur télécom, et le batch n'est pas mon point fort




______________________________________________________
Ali
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
RE,

Je viens de regarder de plus près ton fichier input, effectivement, je comprend mieux pourquoi tu n'y arrivais pas ...
Il n'y a pas d'espaces entre les double "||", et en batch on ne peut pas remplacer ce doublon, car il s'agit d'un caractère spécial,
et un message d'erreur se produit !
A moins qu'un autre membre voit quelque chose à faire, je te propose de faire ce code à l'aide d'un autre language de
programmation, par exemple du basic ou du C, cela fonctionnera sans problème ^^

Tu es dans quelle boite ?
Ils embauchent ... Mr. Green
Moi je suis expert en intégration VoiP chez NextiraOne, j'installe des IPBX, Appliance Serveur, etc
@+ bye




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Et avec le caractère d'échappement ? il ne pourrait pas être pris en charge ?
^|| ???




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Dans ce cas bien précis, non je ne pense pas, car on sait pas qd est ce qu'on peut avoir deux | de suite.




______________________________________________________
Ali
Visiter le site web du posteur
Répondre en citant
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 
Re,

Effectivement, le but étant de travailler sur de multiples fichiers ( je suppose ... ) ayant tous la même structure,
mais des contenus différents, il faudrais donc remplacer les "||" par un "nul" afin que la boucle FOR le
comptabilise et ainsi ne pas "sauter" les cases vides ...

J'ai essayé de diverses manière en batch, mais ce n'est pas le top du top !
A moins que tu puisse faire une macro de tes fichiers input.unl en remplaçant les "||" par "| |"

@+




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Message [NON-RÉALISABLE EN BATCH] Besoin d'aide pour boucle FOR 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch