Saber el número de archivos de una carpeta Windows

Hola,

Necesito saber si existe algún comando en windows que te diga en formato númerico el número de archivos que hay en una carpeta.

Por ejemplo, en Unix el comando sería este: "ls | wc -l"

La pregunta es si existe un comando similar en Windows.

Gracias y saludos.
dir/? y ahi ves los atributos que le puedes meter
Noumaios escribió:dir/? y ahi ves los atributos que le puedes meter


El tema es que no veo que en ninguno de sus atributos describa lo que yo pregunto.

Gracias.
Al hacer un dir te dice cuantos archivos contiene lo que pasa que lo dice abajo del todo.

Te pongo una muestra: --> http://imageshack.us/f/198/91215978.png/

De todas formas si lo quieres mas ordenado(al menos a mi gusto) puedes usar el comando "dir /S" que te muestra el directorio y lo que contiene. Ese comando lo que hace es te dice el directorio con sus subdirectorios y archivos que contiene y cuantos hay en total(el total es igual que en el dir normal te lo dice abajo)
claro luego tienes que ponerle atributos si quieres que cuente tambien los ocultos o cosas asi
Si pones /S como te dice SyTo te va listando todos los directorios recursivamente desde el directorio actual en adelante, luego al final te hace un resumen indicándote cuántos archivos y directorios te ha listado, lo que ocupan y el espacio libre en disco en bytes.
Si después pones /A, te lista TODOS los archivos incluyendo ocultos y de sistema.
Y después ya por organización, a mi me gusta poner /OGN que ordena el directorio por primero subdirectorios y luego archivos por orden alfabético y /4 que muestra los cuatro dígitos del año en lugar de dos.

Siempre puedes consultar la ayuda poniendo "dir /?"
Ya, pero lo que buso es que salga como el comando de unix que he posteado anteriormente, un simple número.

No sé si se podrá hacer esto en Windows.

Saludos.
Tengo bastante oxidado este tema pero ¿qué tal esto?:

dir /A-d | find /c "/"

Si no he metido la pata lista todo lo que no sea un directorio y sobre el resultado busca las lineas que tienen el caracter "/", que se encuentra en el formato de la fecha del archivo.
Seguro que hay formas mejores, si no te sirve buscamos otra [carcajad]
D.A.F escribió:Tengo bastante oxidado este tema pero ¿qué tal esto?:

dir /A-d | find /c "/"

Si no he metido la pata lista todo lo que no sea un directorio y sobre el resultado busca las lineas que tienen el caracter "/", que se encuentra en el formato de la fecha del archivo.
Seguro que hay formas mejores, si no te sirve buscamos otra [carcajad]


mmmmmmmmmm, muy interesante propuesta, esto puede que sí me sirva.

Muchas gracias crack ;)

Saludos.
No sé si he entendido bien, pero, ¿para qué necesitas un comando? En windows simplemente vas a la carpeta que quieras en el explorador, te pones sobre ella, click derecho del ratón, seleccionas "propiedades" y ahí ya te dice la cantidad total de archivos, subdirectorios, etc. que contiene

Imagen

Seguramente no he entendido bien tus necesidades, porque la solución me parece demasiado obvia. A menos que por el motivo que sea te veas obligado a prescindir del entorno gráfico y debas tirar de la consola de comandos por cojones.
Puede ser porque esté programando algo y evidentemente eso de Boton derecho > Propiedades no le valga...

En cualquier caso, el comando este que te ha dicho D.A.F.:
dir /A-d | find /c "/"
, que está muy bien por cierto, falla si cambiamos el formato de la fecha. Si nos vamos a configuración regional y del idioma, y cambiamos la fecha a separadores por puntos (por ejemplo dd.MM.aaaa), el comando falla. A lo mejor habría que definir el símbolo de separador de fecha...
Es por temas de programación, sí. Más bien por temas de monitorización, pero bueno va todo conjuntado (es para el trabajo).

Lógicamente, no me voy a dedicar a ejecutar ese comando para ver el número de películas que tengo en una carpeta...

Y sí, es cierto si se cambia el formato fallaría, pero creo que no se dará la situación, con lo cual en principio me vale con eso.

Gracias y saludos.
Uhm vaya [+risas]

No se si se pueden meter expresiones regulares en el find, pero se le puede dar la vuelta al comando para que cuente las líneas que no tienen un texto, por ejemplo algún caracter que no permita escribir windows como nombre de un archivo:

dir /A-d /B | find /v /c "*"

O ya a las malas, si es un para un script:

set contador=0
for /f %%i in ('dir /A-d /B') do set /a contador=%contador + 1

Algo así, programación marrullera [carcajad]
12 respuestas