Boucle for - liste sous répertoires

Résolu
batnassou Messages postés 5 Statut Membre -  
batnassou Messages postés 5 Statut Membre -
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

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  2. batnassou Messages postés 5 Statut Membre
     
    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
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  4. batnassou Messages postés 5 Statut Membre
     
    C'est super. ça marche très bien Merci beaucoup :) :)
    0