Page 1 sur 1

Publié : jeu. janv. 27, 2005 5:19 pm
par Bastan
Voilà, j'essaie de créer un *.bat avec lequel je voudrais vérifier la présence d'un fichier (ou simplement du répertoire) situé dans les profondeurs de C:\Program Files\*.* .
Le chemin est par defaut toujours le même.
Si ce fichier (ou ce répertoire) existe, alors j'effectue une action (copie d'un nouveau fichier), sinon, j'affiche un message disant que le programme n'est pas installé.

Je galère avec les commandes IF NOT EXIST .....ELSE....
Ainsi qu'avec les commandes ECHO ON & ECHO OFF
J'ai aussi remarqué que parfois, il est necessaire d'écrire le chemin entre guillemets "C:\Program Files\chemin" pour que ça marche ....

Est ce que ququ'un qui maîtrise pourrait m'indiquer en quelques lignes la syntaxe correcte ainsi que le moyen de n'afficher que les messages destinés à l'utilisateur dans la fenêtre DOS (ECHO ON & ECHO OFF) ?
Ca doit fonctionner sous XP et sous NT. Mais là je pense qu'il n'y a pas de Pb.

Merci d'avance !

Bon, j'y retourne....

Publié : jeu. janv. 27, 2005 5:51 pm
par iouf

Code : Tout sélectionner

IF NOT EXIST "C:\Program Files\repertoire\fichier.ext" ( commande1 commande2 ) ELSE ( commande3 commande4 )
La présence des guillemets est obligatoire si le chemin vers le fichier/répertoire contient un ou plusieurs espaces (ex. "C:\Program Files").

Je te conseille de parcourir le site suivant : Rob van der Woude's Scripting Pages. :)

Publié : jeu. janv. 27, 2005 6:17 pm
par geronimo
La présence des guillemets est obligatoire si le chemin vers le fichier/répertoire contient un ou plusieurs espaces (ex. "C:\Program Files").
y'a peut etre aussi le moyen de mettre le nom/chemin DOS du fichier non ?

Publié : jeu. janv. 27, 2005 6:28 pm
par iouf
Originally posted by geronimo@27 Jan 2005, 18:17
y'a peut etre aussi le moyen de mettre le nom/chemin DOS du fichier non ?
Oui ;), mais pourquoi vouloir se priver du nom long ? :wacko:

Publié : jeu. janv. 27, 2005 6:51 pm
par Bastan
Merci, et quel est le rôle des ) ( ?

Publié : jeu. janv. 27, 2005 7:10 pm
par iouf
Les parenthèses permettent de grouper plusieurs commandes.

Publié : ven. janv. 28, 2005 12:26 am
par Bastan
Originally posted by geronimo@27 Jan 2005, 18:17
y'a peut etre aussi le moyen de mettre le nom/chemin DOS du fichier non ?
Qu'est ce que tu veux dire par là ? C'est quoi la différence avec le chemin DOS ?

Publié : ven. janv. 28, 2005 12:42 am
par iouf
PROGRA~1 est le nom court (DOS) de "Program Files", par exemple.

Publié : ven. janv. 28, 2005 12:54 am
par Bastan
OK ! Avec un maximum de 8 caractères je suppose ?

Publié : ven. janv. 28, 2005 1:53 am
par Shin
C'est ce qu'on appelle le format 8.3.
8 caractères pour le fichier, 3 pour l'extension. Si ça dépasse 8, on ajoute un "~" après le 6è caractère et un 1 (puis 2, 3, ... si les
6 premières lettres sont communes à différents fichiers/dossiers).
Mais bon, autant éviter d'utiliser le format 8.3.

Publié : sam. janv. 29, 2005 1:59 am
par Bastan
Ca y est c'est fait !
Merci pour les infos, et pour les liens!