Batch
deesse363
-
BeFaX Messages postés 14245 Date d'inscription Statut Contributeur Dernière intervention -
BeFaX Messages postés 14245 Date d'inscription Statut Contributeur Dernière intervention -
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
A voir également:
- Batch
- Fichier batch - Guide
- Batch converter - Télécharger - Photo & Graphisme
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
- Renommer tous les fichiers d'un dossier - Forum Windows
- Color batch - Forum Autoit / batch
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.
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
@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