Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1586 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Verification

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Verification

n°1355496
treboux
Posté le 27-04-2006 à 20:09:46  profilanswer
 

Hello !
 
Comment faire pour vérifier par un batch si un fichier existe ???
 
Merci !

mood
Publicité
Posté le 27-04-2006 à 20:09:46  profilanswer
 

n°1355518
olivthill
Posté le 27-04-2006 à 21:06:57  profilanswer
 

Si c'est sous Unix en ksh (bash aussi je suppose), alors faire
 

if ! [ -f "nom_fichier" ] ; then
   echo "Fichier inexistant."
fi

 

Si c'est pour Windows, alors utiliser le script VBS suivant :
 

Set fso = CreateObject("Scripting.FileSystemObject" )
If (fso.FileExists("nom_fichier" ) = False) Then
   wscript.echo = "Fichier inexistant."
End If

 

 
 

n°1355533
PepMat
Posté le 27-04-2006 à 21:46:57  profilanswer
 

Il me semble qu'il n'y a pas besoin de VBS pour windows :
 

Code :
  1. IF NOT EXIST test.txt ECHO Le fichier "test.txt" n'existe pas.
  2. IF EXIST test.txt ECHO Le fichier "test.txt" existe .

n°1355771
Sve@r
Posté le 28-04-2006 à 10:31:22  profilanswer
 

olivthill a écrit :

Si c'est sous Unix en ksh (bash aussi je suppose), alors faire
 

if ! [ -f "nom_fichier" ] ; then
   echo "Fichier inexistant."
fi



 
Il y a deux erreurs
1) le point d'exclamation doit être dans les crochets et non en dehors (il fait intégralement partie des options de la commande "test" dont les crochets en sont un synonyme)
2) l'option "-f" de test vérifie que le fichier est un fichier régulier (le test renverra "inexistant" si "nom_fichier" est un répertoire, ou un socket, etc...). L'option "existence" de test en bash se fait avec "-e"
=>

if [ ! -e "nom_fichier" ] ; then
   echo "Fichier inexistant."
fi


 
Le pb est que l'option "-e" n'est présente qu'en bash. Si tu bosses sur des systèmes plus vieux style sh ou ksh, t'es coinçé => solution: utiliser "ls" et vérifier le code d'erreur

ls -d "nom_fichier" 1>/dev/null 2>&1
if [ $? -ne 0 ] ; then
   echo "Fichier inexistant."
fi

Message cité 1 fois
Message édité par Sve@r le 28-04-2006 à 10:36:39

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1357585
treboux
Posté le 02-05-2006 à 10:10:16  profilanswer
 

Merci beaucoup !
 
A+

n°1357631
Sve@r
Posté le 02-05-2006 à 11:11:03  profilanswer
 

Sve@r a écrit :

le point d'exclamation doit être dans les crochets et non en dehors (il fait intégralement partie des options de la commande "test" dont les crochets en sont un synonyme)


 
Suite à un MP d'olivthill me disant que le point d'exclamation en dehors du test était accepté en ksh, j'ai testé et, effectivement, en ksh (comme en bash ou en ash) il est autorisé d'inverser le résultat booléen d'une commande en la faisant précéder d'un point d'exclamation.
Mais faut pas confondre le point d'exclamation placé devant une commande (par exemple "test" mais pas forcément) et le point d'exclamation placé dans la commande "test" => même si les deux font la même chose, le premier inverse la commande quelle qu'elle soit (ex: if ! false; then echo ok; fi) et le second est une instruction spécifique à "test" pour inverser l'expression logique placée dans le test
 
Merci à olivthill - C'est toujours agréable d'apprendre qqchse de nouveau  ;)


Message édité par Sve@r le 02-05-2006 à 11:16:17

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Verification

 

Sujets relatifs
verification formulaire avant enregistrement Mysqlvérification de caractères
Vérification d'un formulaire SANS javascript[Resolu][Vérification de doublon dans la BDD
[RESOLU]verification d'un formulaireProbleme verification existance d'un mot
[RESOLU] vérification si mail est déjà dans la bddverification remplissage formulaire via regexp
Script de vérification de numéro de téléphone qui marche pas[ PHP ][ Resolu ] Upload et verification d'un fichier binaire
Plus de sujets relatifs à : Verification


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR