Batch

Fermé
deesse363 - 16 sept. 2012 à 22:48
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 - 17 sept. 2012 à 00:28
Bonjour,

qui veut bien corriger mon batch car il marche pas. je debute :)) il cree fichier autant le nombre de i au faite dans le dossier fichier. merci beaucoup

@echo off
cls


SET rep=c:\fichier

IF NOT EXIST (%rep%) goto one
else goto two

:one
md %rep%
for %%i in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
echo "ligne numero %%i" > fichier%%i.txt
exit

:two
echo ligne numero %%i > fichier%%i.txt
exit

3 réponses

BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
16 sept. 2012 à 23:09
Ta ligne :

for %%i in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
echo "ligne numero %%i" > fichier%%i.txt

N'est pas bonne, le BATCH c'est du ligne par ligne, or la, il y a deux lignes.
Il te manque simplement un DO dans ta ligne :

for %%i in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) do echo "ligne numero %%i" > fichier%%i.txt

FOR % IN ('') DO COMMANDE

Et ta première vérification avec IF NOT EXIST n'est pas bonne.
1. Parce qu'elle est en deux ligne donc à partir du ELSE ce n'est pas bon
2. Parce que tu viens simplement de créer la variable, donc aucun intérêt de vérifier son existence une ligne en dessous.


Et dans ton :TWO, %%i n'a aucune valeur, ce n'est que dans la ligne de ton FOR.
0
merci pour ta reponse c'est plus clair mais c'est pas encore cà :)) si j'enleve else, comment il va aller dans la deuxième partie two?
@echo off
cls


IF NOT EXIST (c:\fichier) goto one
:one
md c:\fichier
for %%i in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) do
echo "ligne numero %%i" > fichier%%i.txt
exit

:two
echo ligne numero %%i > fichier%%i.txt
exit
0
en plus pour le moment, cela me cree juste le repertoire fichier mais pas fichier1.txt fichier2.txt etc
0
BeFaX Messages postés 14245 Date d'inscription mercredi 24 décembre 2008 Statut Contributeur Dernière intervention 6 août 2013 3 812
17 sept. 2012 à 00:28
Ta ligne : echo "ligne numero %%i" > fichier%%i.txt se rajoute à la suite de DO
for %%i in (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) do echo "ligne numero %%i" > fichier%%i.txt
0