Batch

deesse363 -  
BeFaX Messages postés 16334 Statut Contributeur -
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

  1. BeFaX Messages postés 16334 Statut Contributeur 3 863
     
    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
  2. deesse363
     
    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
  3. deesse363
     
    en plus pour le moment, cela me cree juste le repertoire fichier mais pas fichier1.txt fichier2.txt etc
    0
    1. BeFaX Messages postés 16334 Statut Contributeur 3 863
       
      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