Título: Problema no se esperaba XXX en este momento [Batch] Publicado por: ELVJop en 18 Abril 2012, 15:06 pm resulta ser que haciendo un codigo que seria:
Código: del /f /q Código: del /f /q XXXXXXXX >nul seria algo asi: Código: cls Código: cls PD: Otra cosa no sabra alguien el comando para mostrar el espacio libre? Recuerdo que por un tutorial de XXxxXxxx (hos dare una pista empieza por T y termina por !) Salia ese comando pero no encuentro el post Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: Eleкtro en 18 Abril 2012, 15:45 pm echo |- | 10% Te doy una pista de porque no funciona :P Cita de: Batch Set /? Operadores: () - agrupar ! ~ - - operadores unarios * / % - operadores aritméticos + - - operadores aritméticos << >> - desplazamiento lógico & - bit a bit y ^ - bit a bit exclusivo o | - bit a bit = *= /= %= += -= - asignación &= ^= |= <<= >>= , - separador de expresión no sabra alguien el comando para mostrar el espacio libre? Puedes hacerlo con wmic, o un for con el comando DIR. Código
PD: El total es en Bytes de cualquier manera en Batch. Saludos Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: ELVJop en 18 Abril 2012, 15:52 pm hay :-X Se me olvido la regla!!!!
para lo segundo: se puede meter en una variable? Y para la capacidad total? (Lo de la variable lo digo porque no me siver tenerlo en bytes si lo pudiera poner en una variable lo podira sumar y restar con Set /a ) Una preguntita aparte: estreso con tantas preguntas? es que googleando nunca lo encuentro. Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: Eleкtro en 18 Abril 2012, 16:26 pm Y para la capacidad total? Código: wmic logicaldisk where "DeviceID='C:'" get size PD: Mira los datos q puedes obtener para evitar preguntas acerca de lo mismo xD: Código: wmic logicaldisk where "DeviceID='C:'" get /format:list no me siver tenerlo en bytes si lo pudiera poner en una variable lo podira sumar y restar con Set /a 1º - Puedes hacer un FOR para obtener y setear la 3ª linea del output del wmic (los bytes).2º - No puedes hacer la conversión de bytes a mb/gb/tb en Batch, No soporta esa profundidad de bits en la operación. Esto es Batch! Alternativas: Puedes usar PSinfo o un programita más sencillo que hice para convertir bytes a mb/gb/tb/pb [Batch] [Ruby] Ctool (Convertidor de unidades Bytes, KB, MB, GB, TB y PB) (http://foro.elhacker.net/scripting/batch_ruby_ctool_convertidor_de_unidades_bytes_kb_mb_gb_tb_y_pb-t358002.0.html) Una preguntita aparte: estreso con tantas preguntas? es que googleando nunca lo encuentro. No te preocupes, Si fuesen dudas dificiles (Y muchas cada dia) si q me darías trabajo xDTítulo: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: ELVJop en 18 Abril 2012, 16:54 pm Lo seinto no se usar el comando for. ademas lo poco que se usarlo es para repetir barias veces una operacion.
EL link del programa esta roto. Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: Eleкtro en 18 Abril 2012, 17:00 pm EL link del programa esta roto. Resubido: http://www.4shared.com/file/mjPOirX9/CTool.html PD: Usa el buscador del foro. http://ss64.com/nt/for_f.html ahi tienes algunos ejemplos de FOR /F Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: ELVJop en 18 Abril 2012, 17:55 pm lo siento pero nunca lo entiendo. Exactamente cuales son sus funciones?
Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: Eleкtro en 18 Abril 2012, 23:02 pm Exactamente cuales son sus funciones? El CTool, o el FOR? El ctool lo puedes usar para enviarle un parámetro al programa (el parámetro sería los bytes) y recibir el resultado en gb, para poder setearlo. Y el for sirve para hacer cosas como esta: Código output: Citar Bytes: 500106752000 GB : 465.76 GB Otro ejemplo más automatizado: Código output: Citar Disco: C: Bytes: 500106752000 GB : 465.76 GB Disco: F: Bytes: 2000396742656 GB : 1863.01 GB Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: ELVJop en 19 Abril 2012, 21:13 pm no hombre el for xD
Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: ELVJop en 23 Abril 2012, 15:04 pm Perdon por el doble post pero prefiero hacer 2 post que abrir un hilo nuevo. Aparte de que tengo examenes por eso no pude meterme estos dias. Estaba aprendiendo el comando FOR que tiene infinidad de funciones y logre usarlo para sacar partes de texto y porlas en otro sitio. ¿El problema? No se como aplicarlo ni con variables ni con ese comado. ¿ME ayudas? Porque si le mando a For por ejemplo la palabra 9 y despues poner Do echo %%i --- Espacio libre. ME saltan no se esperaba windir C: y cosas raras.
Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: Eleкtro en 23 Abril 2012, 20:42 pm Cuando Batch dice "No se esperaba...tal" Es por un error de sintaxis de escritura.
Si quieres ayuda postea tu intento de FOR y te lo corrijo para que veas en que fallas... Saludos Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: ELVJop en 23 Abril 2012, 20:50 pm No estoi en el ordenador en el que se efectuo tal error pero juraria que es asi:
Código: FOR /F "tokens=7* delims= " %%i IN ("wmic logicaldisk where "DeviceID='C:'" get FreeSpace") DO echo %%i de Espacio libre PD: Al leer el codigo no te estreses. El comando for se me da fatal y aparte lo estoi intentando entender googleando y sobre todo de esta guia : http://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html Título: Re: Problema no se esperaba XXX en este momento [Batch] Publicado por: Eleкtro en 23 Abril 2012, 22:31 pm No estoi en el ordenador en el que se efectuo tal error pero juraria que es asi: Código: FOR /F "tokens=7* delims= " %%i IN ("wmic logicaldisk where "DeviceID='C:'" get FreeSpace") DO echo %%i de Espacio libre Antes de nada quiero decir que para mostrar esa info no necesitas un FOR: Código Y has elejido un muy mal ejemplo para practicar con el FOR, El wmic a veces resulta dificil de mostrar ya que está en caracteres unicode, Y casi siempre es necesario elegir el formato de listado adecuado que te ayude más a filtrar la info que deseas mostrar (El listado por defecto deja las lineas llenas de de espacios al final de cada linea...), y/o filtrarlo usando find o findstr... Deberías practicar el FOR /F con comandos fáciles y a la vez muy útiles como DIR, TYPE, etc... 1º - Estás habilitando la expansión sin motivo. 2º - ¿Porque usas 7 tokens? En el output del del comando que dijiste de wmic solo hay 1 palabra... 3º - Estás usando comillas dobles y debes usar comillas simples ' ' a menos que uses "USEBACKQ" 4º - Hay que filtrar el output del wmic un poco... Código Salu2 |