BATCH IF EXIST
Dernière réponse : dans Programmation
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
Merci d'avance A+
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
Merci d'avance A+
Autres pages sur : batch exist
Lassé par la pub ? Créez un compte
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
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
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
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
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
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
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
Merci d'avance A+
Lassé par la pub ? Créez un compte