Mostrar el contenido de una variable en batch

Hola,

No puedo mostrar el contenido de una variable en batch DOS.
Aquí está mi batch (el objetivo es mostrar la variable "fic" en cada iteración del bucle)

for /f %%a in ('dir /b') do (
set fic=%%a
echo "%fic%"
)

he intentado: echo %%fic, echo %fic%, con comillas, sin comillas, ¡nada funciona!
Si alguien ve el error, ¡estaré agradecido!

De antemano, gracias
Configuración: Windows XP Firefox 3.0.6

5 respuestas

  1. set fic = %%a
    ¡No pongas un espacio alrededor del igual! Al menos, inténtalo.
    --

    Pico ;)
    0
    1. En realidad, el problema no es la asignación de un valor a la variable fic (con o sin espacio, efectivamente obtiene un valor). El problema se encuentra en la línea echo.
      0
      1. ¿Qué te devuelve la línea echo?
        Porque siempre he visto que DEBEMOS poner espacios en BATCH.
        --

        Pico ;)
        0
        1. Lo siento, pero no puedo ayudar con eso.
          0
      2. Colaborador
        hola
        intenta
         setlocal enableDelayedExpansion for /f %%a in ('dir /b') do ( set fic=%%a echo !fic! ) setlocal disableDelayedExpansion
        0
        1. ¡Super Dubcek, mi batch funciona ahora!

          Es raro esta sintaxis, es la primera vez que la veo.

          Gracias
          0
      3. for /f %%a in ('dir /b') do (
        set fic=%%a
        echo "%fic%"
        pause
        )
        0
        1. Colaborador
          Je suis ici pour effectuer des traductions. Veuillez fournir le texte que vous souhaitez traduire.
          0