Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Fichier batch: "for...in...do...if exist...goto...else...goto" ne marche pas! pourquoi? [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (KidCode)

lundi 13 janvier 2003 à 15:35:40 | Fichier batch: "for...in...do...if exist...goto...else...goto" ne marche pas! pourquoi?

KidCode


Bonjour

J'ai créé un fichier batch qui vérifie l'existence de fichiers dans un dossier et en fonction de ce qu'il trouve exécute ou non un traitement.

Afin de répéter le "if exist" pour chaque fichier, j'ai passé la liste des fichiers dans une variable a%.

"for a% in (fic1, fic2, etc..) do if exist a% goto :next else goto :error"

Cette ligne de commande fonctionne bien jusqu'à goto :next.
Le "else goto" n'est pas accepté par le système.

Pourquoi?

Comment puis-je faire?

lundi 13 janvier 2003 à 17:22:16 | Re : Fichier batch: "for...in...do...if exist...goto...else...goto" ne marche pas! pourquoi?

rene38

Salut. Essaie :
for %%a in (fic1, fic2, etc..) do if exist %%a goto next else goto error


-------------------------------
Réponse au message :
-------------------------------

>
> Bonjour
>
> J'ai créé un fichier batch qui vérifie l'existence de fichiers dans un dossier et en fonction de ce qu'il trouve exécute ou non un traitement.
>
> Afin de répéter le "if exist" pour chaque fichier, j'ai passé la liste des fichiers dans une variable a%.
>
> "for a% in (fic1, fic2, etc..) do if exist a% goto :next else goto :error"
>
> Cette ligne de commande fonctionne bien jusqu'à goto :next.
> Le "else goto" n'est pas accepté par le système.
>
> Pourquoi?
>
> Comment puis-je faire?

lundi 20 janvier 2003 à 19:36:07 | Re : Fichier batch: "for...in...do...if exist...goto...else...goto" ne marche pas! pourquoi?

KidCode


Ok, parfait!

Je suis 1 peu circonspect devant la position des symboles % dans les fichiers batch.

Parfois 1 devant la variable puis 1 autre derrière.

D'autres fois 2 devant la variable, et rien derrière.

Cela reste bien mystérieux pour moi, sachant que les infos que j'ai pu glanées à ce sujet, n'explique jamais à fond les différents cas d'utilisation de syntaxe.

En tout cas encore merci à toi!



KidCode


-------------------------------
Réponse au message :
-------------------------------

> Salut. Essaie :
> for %%a in (fic1, fic2, etc..) do if exist %%a goto next else goto error
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > Bonjour
> >
> > J'ai créé un fichier batch qui vérifie l'existence de fichiers dans un dossier et en fonction de ce qu'il trouve exécute ou non un traitement.
> >
> > Afin de répéter le "if exist" pour chaque fichier, j'ai passé la liste des fichiers dans une variable a%.
> >
> > "for a% in (fic1, fic2, etc..) do if exist a% goto :next else goto :error"
> >
> > Cette ligne de commande fonctionne bien jusqu'à goto :next.
> > Le "else goto" n'est pas accepté par le système.
> >
> > Pourquoi?
> >
> > Comment puis-je faire?
>

mardi 21 janvier 2003 à 00:17:33 | Re : Fichier batch: "for...in...do...if exist...goto...else...goto" ne marche pas! pourquoi?

rene38

Bonsoir. Quelques indications sur MS-DOS

Commandes MS-DOS sur la ligne de commande
+++++++++++++++++++++++++++++++++++++++++
1) Exemple avec FOR
FOR %f IN (*.TXT *.DOC) DO TYPE %f
affiche (TYPE en DOS) tous les fichiers .TXT et .DOC
Voir exemple 4 ci-dessous

Dans un fichier BATCH
+++++++++++++++++++++
2) %VAR% fait référence à la valeur
de la variable système VAR préalablement définie.
Voir la variable DESTIN ci-dessous

------------------------------------------
3) %1, %2, ... font référence aux paramètres passés au fichier BATCH.
Exemple le fichier COPIER.BAT appelé par COPIER C:\WINDOWS TRUC.TXT MACHIN.DOC
copie les fichiers TRUC.TXT et MACHIN.DOC du dossier par défaut dans C:\WINDOWS

@ECHO OFF
SET DESTIN=%1 <- 1er paramètre
:COPIE
SHIFT <-lecture du 2ème paramètre, puis du 3ème
IF "%1"=="" GOTO FIN
COPY %1 %DESTIN%
GOTO COPIE
:FIN
ECHO Copie terminée
-------------------------------------------
4) Exemple avec FOR (le même que 1)
FOR %%f IN (*.TXT *.DOC) DO TYPE %%f
affiche (TYPE en DOS) tous les fichiers .TXT et .DOC
-------------------------------------------
5) Pas de ELSE EN DOS => ta commande est incorrecte
for %%a in (fic1, fic2, etc..) do if exist %%a goto next else goto error
Il faut écrire :
FOR %%a IN (fic1, fic2, etc..) DO IF EXISTt %%a GOTO NEXT
GOTO ERROR <- Si n'existe pas
:NEXT
Rem traitement si existe
GOTO FIN <- pour sauter la section ERROR
:ERROR
Rem traitement si n'existe pas
:FIN

Signé : un vieil usager de MS-DOS



-------------------------------
Réponse au message :
-------------------------------

>
> Ok, parfait!
>
> Je suis 1 peu circonspect devant la position des symboles % dans les fichiers batch.
>
> Parfois 1 devant la variable puis 1 autre derrière.
>
> D'autres fois 2 devant la variable, et rien derrière.
>
> Cela reste bien mystérieux pour moi, sachant que les infos que j'ai pu glanées à ce sujet, n'explique jamais à fond les différents cas d'utilisation de syntaxe.
>
> En tout cas encore merci à toi!
>
>
>
> KidCode
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut. Essaie :
> > for %%a in (fic1, fic2, etc..) do if exist %%a goto next else goto error
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > Bonjour
> > >
> > > J'ai créé un fichier batch qui vérifie l'existence de fichiers dans un dossier et en fonction de ce qu'il trouve exécute ou non un traitement.
> > >
> > > Afin de répéter le "if exist" pour chaque fichier, j'ai passé la liste des fichiers dans une variable a%.
> > >
> > > "for a% in (fic1, fic2, etc..) do if exist a% goto :next else goto :error"
> > >
> > > Cette ligne de commande fonctionne bien jusqu'à goto :next.
> > > Le "else goto" n'est pas accepté par le système.
> > >
> > > Pourquoi?
> > >
> > > Comment puis-je faire?
> >
>



Cette discussion est classé dans : fichier, for, goto, exist, batch


Répondre à ce message

Sujets en rapport avec ce message

Détruire son programme (Version 2) [ par Marneus73 ] Bonjour à tous,Suite à ce sujet :http://www.vbfrance.com/infomsg_DETRUIRE-SON-PROGRAMME_1159599.aspx#24J'ai crée un fichier batch de destruction, mais VBE Execution fichier batch [ par Triptek ] Bonjour, J'aurais besoin de votre aide. Mon formateur ma demandé de faire une macro sous excel pour automatisé l'acquisition de données des disque dur Programme VBS [ par tkhaled53 ] Bonjour tout le monde, je suis un « très grand » débutant en programmation  je suis là en espérant que je trouverai des réponses à mes interrog Open pathname For APPEND... ??? [ par r3g3d1t ] J'ai utiliser ce mode (Append) pour écrire dans un fichier. J'aimerais savoir comment aller chercher l'information de chaque ligne ?Ex.: le fichier co Affichage d'un fichier texte dans une textbox ?? [ par hdm59 ] Bonjour,Comment faut-il faire pour afficher le contenu d'un fichier texte (.txt) dans une textbox (ou dans autre chose) ?Pour être précis, je lance un Problème avec fichier text [ par PtitJeoJeo ] Tout d'abord merci de m'accorder un peu de ton temps !Alors voila mon problème :Je voudrais écrire dans un fichier text comme ceciopen "c:\essai.txt" Compiler un fichier en code C en batch sous VB 6.0? [ par Kusanagi ] Bonjour,j'aurai besoin pour mon appli VB6 de lancer en batch (par ligne de commande) une compil d'un bout de code en C. Le tout avec Visual Studio ins Suppression de données dans un fichier!!!!!!!!!!!!!!! [ par waimea64 ] HIbonjour, j'utilise une application qui enregistre des itemps dans des fichiers séquentielle selon le fonctionnement suivant: Open fichier For Out Écriture dans un fichier [ par wbr ] salut. je veu écrire un fichier mais le prog me di "File already open", le fichier existe pas encore et je vois pas dou vien le bugmon code:fnum = Fre


Nos sponsors

Sondage...

CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.