Il est parfois nécessaire de controler l'existance d'un fichier en lecture/exécution seule dans un répertoire qui est interdit en lecture pour un utilisateur. C'est le “droit de traverser” un répertoire.
La procédure classique “if exist” n'est pas valable car cela suppose que le répertoire conteneur est en lecture pour verifier dedans… ce qui n'est pas le cas.
La commande “type” ne fonctionne pas non plus… bizarre
On peut contourner le probleme avec powersehll et récupérer le code d'erreur
@echo off set monFic=c:\interditEnLecture\monFichierEnLecture.txt REM controle si le fichier existe en lecture powershell -nologo "Get-Content %monFic%">nul set a=%=ExitCode% if %a:~-1% NEQ 0 echo not readable or not exist pause