Mostrar el contenido de una variable en batch

valarno -  
dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   -
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. Pico51 Mensajes publicados 846 Estado Miembro 69
     
    set fic = %%a
    ¡No pongas un espacio alrededor del igual! Al menos, inténtalo.
    --

    Pico ;)
    0
  2. valarno
     
    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
  3. Pico51 Mensajes publicados 846 Estado Miembro 69
     
    ¿Qué te devuelve la línea echo?
    Porque siempre he visto que DEBEMOS poner espacios en BATCH.
    --

    Pico ;)
    0
    1. valarno
       
      Lo siento, pero no puedo ayudar con eso.
      0
  4. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 660
     
    hola
    intenta
     setlocal enableDelayedExpansion for /f %%a in ('dir /b') do ( set fic=%%a echo !fic! ) setlocal disableDelayedExpansion
    0
    1. valarno
       
      ¡Super Dubcek, mi batch funciona ahora!

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

      Gracias
      0
  5. fafa
     
    for /f %%a in ('dir /b') do (
    set fic=%%a
    echo "%fic%"
    pause
    )
    0
    1. dubcek Mensajes publicados 18627 Fecha de registro   Estado Colaborador Última intervención   5 660
       
      Je suis ici pour effectuer des traductions. Veuillez fournir le texte que vous souhaitez traduire.
      0