Boucle for - liste sous répertoires

Résolu/Fermé
batnassou Messages postés 4 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014 - 19 juil. 2014 à 15:45
batnassou Messages postés 4 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014 - 21 juil. 2014 à 12:12
Bonjour,


Pourriez vous s'il vous plait m'indiquer où est l'erreur ci-dessous? je cherche en effet à avoir le nom de chaque sous répertoire de MANUALS_PATH mais ça ne fonctionne pas, j'ai du mal avec la syntaxe de l'ensemble des sous-répertoires du chemin défini dans MNAUALS_PATH :

@SET MANUALS_PATH=C:\Users\Invité\Desktop\lab\LABVIEW

for /D /r %%i in ("%MANUALS_PATH%\*") do (

echo %%i

....

)

Merci d'avance.

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
20 juil. 2014 à 09:05
hello
pour avoir la liste de tous les répertoires, j'utiliserais:
for /f "delims=" %%a in ('dir /b/s/a:d "%MANUALS_PATH%"') do @echo %a
1
batnassou Messages postés 4 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014
20 juil. 2014 à 17:40
bonjour

je vous remercie pour cette réponse. ça fonctionne bien.

J'ai un autre petit soucis dans l'étape d'après

@SET MANUALS_PATH=C:\Users\Invité\Desktop\lab\LABVIEW

@SET PREFIXE=Manual_

for /f "delims=" %%i in ('dir /b/a:d "%MANUALS_PATH%"') do (

set rep=%%i

echo %rep% | FINDSTR /C:"%PREFIXE%" > nul

if %errorlevel% EQU 0 echo %rep%

)



j'obtiens FINDSTR : argument manquant après /C

pouvez vous m'aider s'il vous plait?

Merci d'avance.
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 21/07/2014 à 09:33
chez moi sur XP, find ou findstr sont faut, ils retournent tjrs 0
essayer
@echo off
setlocal enableDelayedExpansion
@SET MANUALS_PATH=C:\Users\Invité\Desktop\lab\LABVIEW
@SET PREFIXE=Manual_
for /f "delims=" %%i in ('dir /b/a:d "%MANUALS_PATH%"') do (
set rep=%%i
echo !rep! | FINDSTR /C:"!PREFIXE!" > nul
rem if %errorlevel% EQU 0 echo !rep!
if ERRORLEVEL 0 echo !rep!
0
batnassou Messages postés 4 Date d'inscription vendredi 18 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014
21 juil. 2014 à 12:12
C'est super. ça marche très bien Merci beaucoup :) :)
0