Cita de: 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 [Seleccionar]
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 (dos) [Seleccionar]
Echo: Espacio libre: & wmic logicaldisk where "DeviceID='C:'" get FreeSpace | FINDSTR "[0-9]"
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 (dos) [Seleccionar]
FOR /F "Tokens=2 delims=," %%X IN ('wmic LogicalDisk Where "DeviceID='C:'" Get Name^,FreeSpace /Format:csv ^| FINDSTR [0-9]') DO (Echo %%X De espacio libre.)
Salu2