Bonjour,
J'ai codé un script listant récursivement les dossiers d'un répertoire. Je souhaite ne pas lister les dossier dont le chemin d'accès (sans le nom du dossier) est le même que celui du batch. J'ai fait ceci :
Déja le IF pose problème : on a tout le temps "dossier 1" à l'exécution du script au lieu de "dossier 1", "dossier 2" etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 @echo off setlocal enabledelayedexpansion set /a c="1" echo. for /d /r %%i in (*) do ( echo dossier !c! echo alb : '%%~pi' echo path : '%~p0%' echo comparaison ... if %%~pi == %~p0% ( echo same ) else ( echo diff ) set /a c+=1 echo -------- ) pause
Si on l'enleve, ça marche.
En plus, le else provoque à la derniere ligne ce message
Si je met le ELSEaprès le ')' du IF, dos me dit "else "tait inattendu".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'else' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
Pour finir, le IF est toujours "vrai" si on en croit dos, alors que les chemins sont parfois différents...
C'est pas vital, mais un coup de main serait le bienvenu.
Partager