Votre question

BATCH IF EXIST

Tags :
  • Bittorrent
  • Programmation
Dernière réponse : dans Programmation
22 Août 2008 12:54:28

Bonjour,

Voilà mon code

@echo off
if exist "%programFiles%\Bitdownload" echo "%programFiles%\Bitdownload" Present > "%systemdrive%\List_Search1.log"
if exist "%programFiles%\BitGrabber" echo "%programFiles%\BitGrabber" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\BitRoll" echo "%programFiles%\BitRoll" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\BitTorrent Fastest Tool" echo "%programFiles%\BitTorrent Fastest Tool" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\divocodec" echo "%programFiles%\divocodec" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\DomPlayer" echo "%programFiles%\DomPlayer" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\DivoPlayer" echo "%programFiles%\DivoPlayer" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Download Plugin" echo "%programFiles%\Download Plugin" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Gala Player" echo "%programFiles%\Gala Player" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Get-Torrent" echo "%programFiles%\Get-Torrent" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\KitPlayer" echo "%programFiles%\KitPlayer" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\NetPumper" echo "%programFiles%\NetPumper" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Plugindl" echo "%programFiles%\TorrentQ" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\TorrentQ" echo "%programFiles%\Plugindl" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\TorrentSoftware" echo "%programFiles%\TorrentSoftware" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Torrent101" echo "%programFiles%\Torrent101" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Winzix" echo "%programFiles%\Winzix" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\3wPlayer" echo "%programFiles%\3wPlayer" Present >> "%systemdrive%\List_Search1.log"
notepad "%systemdrive%\List_Search.log1"
pause


Je ne comprends pas, j'ai certains de ces dossiers dans program files et le fichier texte ressort vide :o 

Merci d'avance A+

Autres pages sur : batch exist

a b L Programmation
22 Août 2008 20:52:49

alors d'abord, utilise un script .bat où tu envoies la liste en paramètre (et dans ce .bat, tu utilises SHIFT pour passer tous les paramètres).
Ensuite au premier if, tu utilise > puis >>, ce qui n'a pas de sens puisque tu ne rentre pas forcément dans le premier if. Crée ou vide le fichier en début (@echo off > "%systemdrive%\List_Search1.log" ), après, n'utilise que des >>.

quand tu a fait tout ça propre, fait un simple echo sans redirection pour voir ton problème.

ps: vérifie aussi que le contenu de ta variable pointe bien sur le répertoire que tu vérifies ;) 
22 Août 2008 20:57:02

Je ne comprends pas pour les paramètres, je n'ai jamais compris...
Contenus similaires
a b L Programmation
22 Août 2008 21:15:32

Pour les paramètres multiples, tu utilises toujours %1.
Le Shift permet de tous faire décaler.
Exemple pour un lancement: mon_script par1 par2 par3 par4
%1=par1, %2=par2, %3=par3, %4=par 4, %5=
après un shift:
%1=par2, %2=par3, %3=par4, %4=

En pratique, tu boucles tant que %1 n'est pas vide, et à la fin de chaque boucle tu "shift" les paramètres. Tu peux aussi faire des couples de valeurs, etc.

Je viens de penser que j'avais écrit de la doc là-dessus:
http://fr.wikibooks.org/wiki/DOS/Shift
22 Août 2008 21:19:58

Mais pourquoi faire tout ça ?

Je ne comprends pas ^^

Merci pour les explications ;p
a b L Programmation
22 Août 2008 21:28:35

Et bien tu ne fais qu'un seul if exist (tan le batch qui boucle sur les paramètres.
Dans ton batch principal tu appelles l'autre batch avec le liste des paramètres.
Je code est plus simple, donc moins de risque de bug, et tu peux facilement mettre à jour la liste des fichiers à tester.
22 Août 2008 21:59:52

A ça m'intéresse ça la mise à jour ^^

Le paramètres tu aurais un exemple de batch stp ?

Je vais regarder sur ton lien ;) 
22 Août 2008 22:24:46

Je ne comprends pas, vu que je ne comprends pas les paramètres :/ 
a b L Programmation
22 Août 2008 23:17:00

Désolé, mais je vois pas comment t'expliquer autrement.
Dans le lien, j'avais fait un exemple lance le et bidouille le.
22 Août 2008 23:22:42

Ok je regarde demain ;) 

Merci
23 Août 2008 12:20:08

Je ne comprends pas le fonctionnement...

Je ne comprends à quoi %1 est égal :/ 

Désolé mais là je comprends vraiment rien :/ 
a b L Programmation
23 Août 2008 13:19:33

Dans %1, il a le premier paramètre quand tu appelles le batch, %2 le deuxième, etc.
la commande SHIFT permet de tout décaler.
24 Août 2008 14:03:44

Merci,

Bon j'ai essayé autre chse et pourtant ça ne fonctionne pas !

@echo off
for %%i in ('type "%systemdrive%\Dossier.txt"') do ( if exist %programfiles%\%%z echo trouv‚ %%i )
pause

il existe bien %systemdrive%\Dossier.txt dedans ce dossier il y écris des nom de programmes ( Un nom par ligne ) et il existe bien un dossier nommé %programfiles%\%%z dans le dossier programme files ( Le dossier c'est bitDownload ) donc je ne vois pas pourquoi ça ne fonctionne pas :/ 
24 Août 2008 14:20:06

C'est bon j'ai résolu mon problème merci quand même !

Il suffisait que je change le fichier à ouvrir ^^
13 Juin 2011 22:04:14

liblabrute a dit :
Bonjour,

Voilà mon code

@echo off
if exist "%programFiles%\Bitdownload" echo "%programFiles%\Bitdownload" Present > "%systemdrive%\List_Search1.log"
if exist "%programFiles%\BitGrabber" echo "%programFiles%\BitGrabber" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\BitRoll" echo "%programFiles%\BitRoll" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\BitTorrent Fastest Tool" echo "%programFiles%\BitTorrent Fastest Tool" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\divocodec" echo "%programFiles%\divocodec" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\DomPlayer" echo "%programFiles%\DomPlayer" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\DivoPlayer" echo "%programFiles%\DivoPlayer" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Download Plugin" echo "%programFiles%\Download Plugin" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Gala Player" echo "%programFiles%\Gala Player" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Get-Torrent" echo "%programFiles%\Get-Torrent" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\KitPlayer" echo "%programFiles%\KitPlayer" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\NetPumper" echo "%programFiles%\NetPumper" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Plugindl" echo "%programFiles%\TorrentQ" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\TorrentQ" echo "%programFiles%\Plugindl" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\TorrentSoftware" echo "%programFiles%\TorrentSoftware" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Torrent101" echo "%programFiles%\Torrent101" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\Winzix" echo "%programFiles%\Winzix" Present >> "%systemdrive%\List_Search1.log"
if exist "%programFiles%\3wPlayer" echo "%programFiles%\3wPlayer" Present >> "%systemdrive%\List_Search1.log"
notepad "%systemdrive%\List_Search.log1"
pause


Je ne comprends pas, j'ai certains de ces dossiers dans program files et le fichier texte ressort vide :o 

Merci d'avance A+

13 Juin 2011 22:07:14

c'est normal que ton fichier soit vide !!!
tu ne liste pas le bon fichier
il faudrait remplacer
notepad "%systemdrive%\List_Search.log1"
par
notepad "%systemdrive%\List_Search1.log"


amicalement
a c 232 L Programmation
14 Juin 2011 01:48:27

Tu penses qu'il a trouvé en 3 ans ?
a b L Programmation
14 Juin 2011 20:38:44

Au moins, il remonte en donnant une réponse au problème. ;) 
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS