Conocer el tamaño de un archivo (en .bat)

ordi -  
cs-bilou Mensajes publicados 836 Estado Miembro -
Bonjour,

Quisiera escribir un archivo .bat que me devuelva un mensaje cuando un archivo está vacío.

¿Podría recibir ayuda, por favor? Porque soy un principiante en .bat.

Gracias de antemano.
Configuración: Windows XP Firefox 2.0.0.2

2 respuestas

  1. ben
     
    Hola ordenador,

    he estado buscando bastante y he encontrado esto:

    call :size_file archivo_a_controlar.txt
    if %size%==0 echo archivo vacío>>archivo_de_log.txt

    :size_file
    set size=%~z1
    goto exit
    :exit

    el call te permite llamar a la función size_file pasándole como parámetro el archivo a controlar. Tu script se detiene y busca la función :size_file. Con la función set asignas a la variable size el valor del tamaño de tu archivo (Para información, si haces clic derecho en tu archivo y luego en propiedades, el tamaño que se devuelve es el escrito frente a tamaño y no tamaño en disco). La variable %~z1 corresponde al tamaño de tu archivo. Luego el goto exit te permite salir de la función. Tu script vuelve a donde se había detenido, es decir, en el IF. Allí pruebas tu valor y muestras tu mensaje. Aquí lo muestro en un archivo de log.

    Eso es todo.
    8
    1. Nicoco
       
      bonjour,

      ¿conoces el comando para hacer lo mismo pero en una carpeta completa?

      ejemplo:

      si c:/carpeta es superior a 2 octetos ejecuta el comando



      gracias de antemano
      0
  2. cs-bilou Mensajes publicados 836 Estado Miembro 164
     
    Aquí tienes.
    Esto es para todos los archivos MP3:

    @echo off for %%i in (*.mp3) do ( echo %%~ni pesa %%~zi Bytes. ) pause


    Bilou
    --
    Hay días que no me busquen.
    Y hay días todos los días.
    2