¿Cómo filtrar archivos .svn-base de la salida del comando DIR?

¿Cómo filtrar archivos .svn-base de la salida del comando DIR?

Me preguntaba cómo podría hacer lo siguiente (en Windows)

Necesito examinar el número total de caracteres en la ruta completa a todo el contenido del directorio c:\ y todos los subdirectorios. Aquí está el comando que estaba usando:

dir /b /s c:\directory\ > output.csv

/B Utiliza formato simple (sin información de encabezado ni resumen).

/S Muestra archivos en el directorio especificado y todos los subdirectorios.

El problema es que c:\directory es un checkout SVN y tiene un montón de archivos .svn-base que no quiero ver en el archivo output.csv. ¿Cómo hago para filtrar la salida de DIR para no ver ninguno de estos archivos .svn o .svn-base en output.csv al que estoy canalizando la salida?

Intenté usar Excel para buscar en la primera columna en output.csv para seleccionar las filas que contengan 'svn', pero este archivo csv tiene más de 30.000 filas y podría llevar un tiempo filtrar todo si lo hago de esa manera. .

¿Existe algo similar a grep para Windows que pueda usar para lograr esto? Descargué grep GNUWin32 pero cuando intento usarlo aparece un error acerca de que falta un archivo de biblioteca.

También intenté usar el modificador /AH en DIR y por alguna razón todavía obtengo las carpetas .svn en cada subdirectorio :( Es muy posible que no esté usando el modificador para no mostrar los archivos ocultos correctamente.

Respuesta1

En un mensaje de cmd, esto debería hacerlo:

dir /b /s c:\directory\ | Findstr /V /I .svn > output.csv

Si tiene Windows 7/8 o ha instalado Powershell, le sugiero que lo aprenda. En Powershell harías algo como:

Get-ChildItem . -exclude *.svn -recurse | Select-Object Name | Export-CSV .\output.csv -NoTypeInformation

Respuesta2

Solución alternativa (por el costo del tamaño)

Antes del directorio svn exportWC en export-dir y elimine de esta manera los directorios .svn

información relacionada