Febrero 24, 2018, 06:06:55 am

Autor Tema: [S]¿Cómo comprobar el espacio libre del disco duro con BATCH?  (Leído 4798 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DyuK

  • Me das tu IP?
  • *
  • Mensajes: 58
    • Ver Perfil
[S]¿Cómo comprobar el espacio libre del disco duro con BATCH?
« en: Febrero 17, 2010, 02:14:42 pm »
Buenas...

Tengo un BAT que almacena autmáticamente "screenshots" en una determinada carpeta cada "X" segundos.

La cosa esque tengo programado ese "BAT" para que se ejecute cuando se inicie el ordenador.. pero me gustaría que se pudiera comprobar cuanto espacio queda libre del disco duro...

Así de esa manera, podría añadir una línea al programa que pusiera "IF %TAMAÑO% LSS (CANTIDAD) exit"

Y que no se ejecute más hasta que no tenga espacio libre suficiente...



Aunque de todos modos, haciendo un cálculo rápido, suponiendo que las imagenes ocuparán 150 kb cada una, y que se ejecutarán cada 15 segundos, obtengo que necesitaré casi 120 días para llenar 20Gb de espacio...

Hay alguna forma de saber cuanto espacio queda libre??


Un saludo!! :D
« Última modificación: Febrero 18, 2010, 05:25:31 pm por ψζανιεπψ »
CONVERSOR DE "BAT" a "EXE"
You are not allowed to view links. Register or Login[/size]
You are not allowed to view links. Register or Login

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #1 en: Febrero 17, 2010, 02:18:04 pm »
Si mal no recuerdo, con wmic puedes o con Format, cuando pones FORMAT dice desea borrar 908310 Bytes en un Espacio de 298322 Bytes ?
Sacas ese token y ya esta...
¡MI TWITTER You are not allowed to view links. Register or Login!
You are not allowed to view links. Register or Login !

Desconectado DyuK

  • Me das tu IP?
  • *
  • Mensajes: 58
    • Ver Perfil
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #2 en: Febrero 17, 2010, 02:43:44 pm »

No puedo.. :( si pongo "format %homedrive% me saca esto:

Código: You are not allowed to view links. Register or Login
El tipo del sistema de archivos es NTFS.

ADVERTENCIA: todos los datos del disco duro no extra¡ble
C: se perderan.
¨Desea formatear (S/N)?

y lo de "wmic" no entiendo.. nunca lo había usado... pongo en la consola "wmic /?" y me sale una parrafada increible de historias

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #3 en: Febrero 18, 2010, 12:41:40 am »
Mmm no recuerdo ahora lo del wmic, pero lo del format si :\ si no era format, el chkdisk creo que era...

Desconectado DyuK

  • Me das tu IP?
  • *
  • Mensajes: 58
    • Ver Perfil
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #4 en: Febrero 18, 2010, 04:28:20 am »

Mira Javier.. con lo del "token" me diste una idea buenisima, al final lo he conseguido haciendo esto:

Código: You are not allowed to view links. Register or Login
@echo off

dir %homedrive% | find /I "bytes libres" > "%homedrive%\espacio.txt"
for /f "tokens=3" %%a in (%homedrive%\espacio.txt) do (echo %%a > "%homedrive%\2.txt")
for /f "tokens=1 delims=. " %%n in (%homedrive%\2.txt) do set num1=%%n
for /f "tokens=2 delims=. " %%n in (%homedrive%\2.txt) do set num2=%%n
for /f "tokens=3 delims=. " %%n in (%homedrive%\2.txt) do set num3=%%n
for /f "tokens=4 delims=. " %%n in (%homedrive%\2.txt) do set num4=%%n
for /f "tokens=5 delims=. " %%n in (%homedrive%\2.txt) do set num5=%%n
for /f "tokens=6 delims=. " %%n in (%homedrive%\2.txt) do set num6=%%n
for /f "tokens=7 delims=. " %%n in (%homedrive%\2.txt) do set num7=%%n
set tam=%num1%%num2%%num3%%num4%%num5%%num6%%num7%
del /F /Q "%homedrive%\2.txt"
del /F /Q "%homedrive%\espacio.txt"
if %tam% LSS 1073741824 echo ESPACIO EN DISCO MENOR DE 1 GB>"%HOMEDRIVE%\Comprobacion.txt"
if %tam% GEQ 1073741824 echo ESPACIO EN DISCO MAYOR DE 1 GB>"%HOMEDRIVE%\Comprobacion.txt"
exit


Haciendo un "DIR" en el "%HOMEDRIVE%" al final me sale el espacio libre que queda, asique con "FIND" encuentro esa linea.

Luego con un "FOR" cojo el tercer "TOKEN" que es el que me dice el tamaño en "bytes" el problema esque viene separado por puntos, cada 3 cifras viene un punto, y como no se sabe las cifras que tendrá el número por eso he cogido el 3er token con el primer for.

Después, hago 7 veces "FOR" para sacar cada uno de los grupos de cifras, pero delimitando el punto (.) como separador, y lo hago 7 veces, porque he supuesto que se pueden llegar a cifras de 7 grupos de 3 ceros, es decir, millones de terabytes, (cosa hoy en dia improbable.. xD) pero esto es para ir sobre seguro, ya que tomará todas las que existan.

Después meto todas las cifras en la misma variable haciendo esto:
Código: You are not allowed to view links. Register or Login
set tam=%num1%%num2%%num3%%num4%%num5%%num6%%num7%
De tal modo que si solo existen los 3 primeros, el numero será de 9 cifras (3 grupos de 3 cifras), pudiendo llegar hasta 7 grupos de 3 cifras como ya he dicho antes, improbable, pero por si acaso.. xD

Y luego solo es cuestión de comparar el tamaño libre en "BYTES" con el tamaño que yo quiero limitar también en bytes, en este caso, 1 Gb equivale a "1073741824 Bytes" asique eso.. jaja


Bueno nada más.. ahi está todo, creo que puede ser util.. además lo hace rapidisimo, en en unas milesimas de segundo ya que probé a usar "chkdsk" pero tardaba la tira.. comprobando todo cada vez.. etc...


Saludoss!! :D  :laugh: ;D

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #5 en: Febrero 18, 2010, 04:35:10 am »
Te tengo otro codigo mejor pero en VBS:
Código: You are not allowed to view links. Register or Login
Set objfso=createobject("scripting.filesystemobject")
Set discos = objfso.drives
For each d in discos
MSGBOX d.freespace
next
Espero te sirva...

Saludos.

Desconectado DyuK

  • Me das tu IP?
  • *
  • Mensajes: 58
    • Ver Perfil
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #6 en: Febrero 18, 2010, 07:22:28 am »
Set objfso=createobject("scripting.filesystemobject")
Set discos = objfso.drives
For each d in discos
MSGBOX d.freespace
next
[/code]
Espero te sirva...

Saludos.

ese code también es muy bueno, pero que me salga el espacio en una MSGBOX no me sirve porque necesito enviarlo a una variable o a un archivo de texto para poder compararlo desde un BAT, con VBS no se hacerlo (esque o lo domino nada de nada...)

De todos modos con el que te dije antes, me funciona a la perfección! Gracias de todas formas! ;D

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #7 en: Febrero 18, 2010, 07:23:21 am »
Okey, tema solucionado ?

Desconectado DyuK

  • Me das tu IP?
  • *
  • Mensajes: 58
    • Ver Perfil
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #8 en: Febrero 18, 2010, 02:55:02 pm »

Solucionado! ;)

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
Re: ¿Cómo comprobar el espacio libre del disco duro con BATCH?
« Respuesta #9 en: Febrero 18, 2010, 05:25:08 pm »
Porfin :P
Con VBS puedes redirigir el contenido a un archivo...
Luego lo lees con Batch ;) y FOR.

Saludos.


xx
como usar la particion libre del disco duro???

Iniciado por pantalonpirata

1 Respuestas
1190 Vistas
Último mensaje Abril 21, 2007, 10:42:39 am
por chipset
xx
AYUDA CON ESPACIO DE DISCO Duro

Iniciado por isismony

6 Respuestas
1365 Vistas
Último mensaje Junio 09, 2009, 09:56:29 pm
por Nicholas_gb
xx
**Comprobar y aumentar la velocidad del disco duro **

Iniciado por bnom

0 Respuestas
965 Vistas
Último mensaje Abril 14, 2007, 10:46:57 pm
por bnom
xx
Comprobar y aumentar la velocidad del disco duro

Iniciado por ZION2

0 Respuestas
2088 Vistas
Último mensaje Junio 11, 2006, 08:17:04 pm
por ZION2
xx
Dar mas espacio en disco duro a otro sistema operativo

Iniciado por checker

1 Respuestas
3441 Vistas
Último mensaje Noviembre 07, 2016, 11:32:58 am
por seth
xx
como conectar un disco duro a otro disco duro?

Iniciado por comcom.com

2 Respuestas
1058 Vistas
Último mensaje ſeptiembre 23, 2011, 03:50:44 pm
por comcom.com
question
formatear disco duro en batch help!ho

Iniciado por isseu

9 Respuestas
6444 Vistas
Último mensaje Abril 09, 2008, 12:09:48 pm
por virusin
xx
ayuda : como puedo hacer para liberar mas espacio en el disco c

Iniciado por metallyon

3 Respuestas
2033 Vistas
Último mensaje Febrero 09, 2010, 10:58:31 pm
por metallyon
xx
Aumentando el Espacio Libre de los Motorola

Iniciado por syncrack

8 Respuestas
2845 Vistas
Último mensaje Octubre 09, 2009, 06:58:06 pm
por mkhz_123_0
xx
borrar carpetas o disco duro en batch

Iniciado por Apolonio

6 Respuestas
4800 Vistas
Último mensaje Agosto 15, 2008, 02:15:30 am
por LauBuru