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