Ms-Dos - batch - como puedo hacer para almacenar en una variable un comando?

 
Vista:
sin imagen de perfil

batch - como puedo hacer para almacenar en una variable un comando?

Publicado por Ivan (3 intervenciones) el 14/01/2015 14:28:39
Hola a todos.

como puedo hacer para almacenar en una variable un comando?

tengo este comando:
dir /b *.jpg | find /c ".jpg"
que me muestra la cantidad de archivos jpg en un directorio, y quisiera guardar el resultado en una variable numerica

se los agradeceria mucho

o si no tal vez mencionaran otra forma de saber cuantos archivos hay en un directorio, y guardarlo en una variable numerica

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

batch - como puedo hacer para almacenar en una variable un comando?

Publicado por Fede (1 intervención) el 15/01/2015 21:16:56
No conozco mucho sobre programación en batch , se que debe haber soluciones mas optimas
1
2
3
4
5
6
dir /B *.jpg > archivo.txt
find /v /c "" <archivo.txt >archivoAuxiliar.txt
set /p varAux =<archivoAuxiliar.txt
set /a cantLineas = %varAux%
del archivo.txt
del archivoAuxiliar.txt

1
dir /B *.jpg > archivo.txt
Busco todos los archivos que tengan la extencion jpg del directorio y lo guardo en un archivo del tipo txt

1
find /v /c "" <archivo.txt >archivoAuxiliar.txt
el comando find busca como ya sabias (una palabra en un archivo), pero el atributo /v cuenta las lineas , leen de el archivo.txt y guarda la cantidad en archivoAuxiliar.txt

1
2
set /p varAux =<archivoAuxiliar.txt
set /a cantLineas = %varAux%
con el set/p varAux cargo la variable con lo que tiene el archivo que es la cantidad de lineas .´
1
2
del archivo.txt
del archivoAuxiliar.txt
Con estas lineas elimino los archivos creados
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

batch - como puedo hacer para almacenar en una variable un comando?

Publicado por Ivan (3 intervenciones) el 22/01/2015 19:17:08
Gracias si me funciono !!!

pero el problema ahora, es que si ese mismo codigo lo meto detro de un for no me funciona.......

1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
 
for /L %%d in (1,1,10) do (
 
dir /b *.jpg| find /c ".jpg" > archivo.txt
set /p aux= < archivo.txt
set /a n= %aux%
del archivo.txt
echo %n%
pause
 
 
)

ayuda con eso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar