Précédent   Forum des professionnels en informatique > Logiciels > Autres Logiciels
Autres Logiciels Bureautique, navigateurs, clients mails, traitements de textes, tableurs, multimédia, logiciels divers, etc...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/08/2005, 12h06   #1
Invité de passage
 
Inscription : août 2005
Messages : 1
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 1
Points : 0
Points : 0
Par défaut PB pour faire un batch

Salut a tous, je c pas si je suis dans la bonne section mais je continu (le déplacer si ce n'est po le cas).

J'essaye de faire un batch qui vérifi la présence de fichiers dans 1 répertoire et si il continent des fichiers, il écrit dans un fichier txt un message.
La ou g un pb c pour la verif du repertoire, j'utilise la commande "if exist".
Voici ma commande dans le batch : Ma question est de savoir di le " *.* " fonctionne ou pas, car je n'ai pas de fichier specifique a indiquer, c pour verif la présence de n'importe quel fichier.

merci de m'aider
Manusbarbe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2005, 12h12   #2
Modérateur
 
Avatar de ggnore
 
Inscription : juillet 2004
Messages : 2 246
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : juillet 2004
Messages : 2 246
Points : 1 904
Points : 1 904
Tu ferais sûrement mieux d'utiliser un for pour lister tous les fichiers de l'emplacement et de boucler sur ton if exist...

ça me paraît un petit peut bizarre de vérifier qu'un fichier existe comme ça, puisqu'il ne listera que ceux qui existent, donc tu n'auras pas d'erreur :
__________________
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
ggnore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2005, 13h57   #3
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Tout à fait d'accord pour la boucle for.

Précision sur le Tout répertoire contient au moins deux dossiers nommés . et .. donc je pense que ce test renverra toujours vrai.
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2005, 15h34   #4
Membre habitué
 
Avatar de Hoegaarden
 
Inscription : avril 2004
Messages : 359
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2004
Messages : 359
Points : 137
Points : 137
oui juju a raison X:\XXX\*.* marche bien mais renvoie tout le temps TRUE.
Par contre je profite de ce post pour savoir que fait la commande FOR dans un .bat

++
Hoegaarden est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2005, 17h03   #5
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Sur google j'ai trouvé cette page qui m'a permis de me remémorer un peu la fonction for.

Voici un exemple de code qui fonctionne chez moi :
Code :
1
2
3
4
5
6
7
@ECHO OFF
FOR %%f IN (X:\XXX\*.*) DO GOTO nonvide
ECHO Repertoire vide
GOTO fin
:nonvide
ECHO Repertoire non vide
:fin
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/08/2005, 17h11   #6
Membre Expert
 
Avatar de Juju_41
 
Homme
Développeur en systèmes embarqués
Inscription : février 2003
Messages : 973
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Développeur en systèmes embarqués

Informations forums :
Inscription : février 2003
Messages : 973
Points : 1 162
Points : 1 162
Après réflexion, le goto dans une boucle for c'est sacrément cochon comme programmation ...

Ceci est plus "joli"
Code :
1
2
3
4
5
6
7
8
9
@ECHO OFF 
SET VIDE=1
FOR %%f IN (X:\XXX\*.*) DO SET VIDE=0
IF %VIDE% == 0 GOTO nonvide
ECHO Repertoire vide 
GOTO fin 
:nonvide 
ECHO Repertoire non vide 
:fin
Juju_41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2005, 01h09   #7
Membre extrêmement actif
 
Avatar de cortex024
 
Inscription : avril 2005
Messages : 1 244
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 244
Points : 997
Points : 997
Manusbarbe , evite le language sms, merci
cortex024 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/08/2005, 15h51   #8
Membre confirmé
 
Inscription : avril 2004
Messages : 289
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 289
Points : 283
Points : 283
Par défaut Re: PB pour faire un batch

Citation:
Envoyé par Manusbarbe
Salut a tous, je c pas si je suis dans la bonne section mais je continu (le déplacer si ce n'est po le cas).

J'essaye de faire un batch
C'aurait du etre deplace dans un des fora Windows...
alveric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2005, 09h07   #9
Expert Confirmé
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
On peut aussi faire sans FOR.....

1/ essai de suppression du répertoire par RD
2/ s'il contient des fichiers, il ne sera pas détruit
3/ ainsi le test IF EXIST reste valable...
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h07.


 
 
 
 
Partenaires

Hébergement Web