Otra pregunta de un usuario antiguo de Unix / Linux que se encuentra en un mundo de Windows. Primero déjame explicarte exactamente lo que estoy tratando de hacer. Estoy usando el shell cmd.exe de Windows, y quiero enumerar todos los directorios debajo del directorio actual que contiene una jerarquía bin \ Debug, y determinar si contienen algún archivo (por ejemplo: tratando de averiguar si mi objetivo de NAnt clean es trabajando apropiadamente). Mi jerarquía podría verse así:
\Current
\DirA
\bin
\Debug
(some files under debug)
\Release
\DirB
\bin
\Debug
\DirC
\bin
\Release
En Unix, ls */bin/Debug
solo me daría una lista de todas las cosas DirA/bin/Debug
y me mostraría el hecho de que DirB/bin/Debug
está vacío. He probado diferentes contorsiones en el shell de cmd, pero sigo terminando con cosas como:
> dir * \ bin \ Debug El nombre de archivo, el nombre del directorio o la sintaxis de la etiqueta de volumen es incorrecta. > dir * \ * \ * El nombre de archivo, el nombre del directorio o la sintaxis de la etiqueta de volumen es incorrecta.
¿Hay algo sutil que no entiendo sobre el comando dir, o simplemente está limitado de esa manera?
Sí, me doy cuenta de que solo puedo cambiar al explorador, navegar, hacer clic con el botón derecho y, probablemente, crear una búsqueda que haga lo que quiero, pero estoy más interesado en la solución de línea de comandos rápida y sucia.