Tester si on a un fichier en batch

eriacl -  
cchristian Messages postés 928 Statut Membre -
Bonjour,

J'ai réalisé un script en shell et je cherche à le mettre en batch.

J'ai cherché sur le net mais je ne trouve pas en batch l'équivalent de
if [ -f $mon_fichier ]; then
qui teste en shell si la variable est un fichier et de la même façon
if [ -d $mon_dossier ]

Est-ce que la fonction 'if' en batch le fait?

Merci :o)
Configuration: Windows Vista
Firefox 3.0.9

1 réponse

  1. cchristian Messages postés 928 Statut Membre 131
     
    Bonjour,

    Il existe en batch la fonction EXIST qui semble répondre à ton attente :
    SET "nom_chemin=C:\Documents and Settings\Christian\Mes documents\lib_courante\"
    
    rem 1 (Le chemin/dossier est testé.)
     IF EXIST        "%nom_chemin%" (
                       ECHO OK le Dossier "%nom_chemin%" existe bien.
    ) ELSE (
                       ECHO NOK le Dossier "%nom_chemin%" n'existe pas. )
    
    rem 2 (Le chemin complet est testé)
    SET "nom_fichier=mon_fich.ext" 
     IF EXIST        "%nom_chemin%%nom_fichier%" (
      ECHO OK le couple chemin_fichier "%nom_chemin%%nom_fichier%" existe bien.
    ) ELSE (
      ECHO NOK le couple chemin_fichier "%nom_chemin%%nom_fichier%" n'existe pas. )
    
    rem 3 (Positionnement par CD sur le répertoire. Inutile si le fichier se trouve 
    rem    dans le répertoire courant)
    CD  "nom_chemin=C:\Documents and Settings\Christian\Mes documents\lib_courante"
    
    SET "nom_fichier=mon_fich.ext" 
    
     IF EXIST        "%nom_fichier%" (
                       ECHO OK le fichier "%nom_fichier%" existe bien.
    ) ELSE (
                       ECHO NOK le fichier "%nom_fichier%" n'existe pas. )

    1