Как отфильтровать файлы .svn-base из вывода команды DIR?

Как отфильтровать файлы .svn-base из вывода команды DIR?

Мне было интересно, как я могу сделать следующее (в Windows)

Мне нужно проверить общее количество символов в полном пути ко всему в c:\directory и всех подкаталогах. Вот команда, которую я использовал:

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

/B Использует простой формат (без заголовка или резюме).

/S Отображает файлы в указанном каталоге и всех подкаталогах.

Проблема в том, что c:\directory — это SVN-извлечение и содержит кучу файлов .svn-base, которые я не хочу видеть в файле output.csv. Как мне отфильтровать вывод из DIR, чтобы не видеть ни одного из этих файлов .svn или .svn-base в output.csv, в который я передаю вывод?

Я попытался использовать Excel для поиска в первом столбце в output.csv, чтобы выбрать все строки, содержащие «svn», но в этом CSV-файле содержится более 30 000 строк, и если я сделаю это таким образом, то на фильтрацию всех данных может потребоваться некоторое время.

Есть ли что-то похожее на grep для windows, что я могу использовать для этого? Я скачал grep GNUWin32, но когда я пытаюсь его использовать, я получаю ошибку об отсутствующем файле библиотеки.

Я также пробовал использовать переключатель /AH в DIR, но по какой-то причине я все еще получаю папки .svn в каждом подкаталоге :( Вполне возможно, что я не использую переключатель, чтобы правильно отображать скрытые файлы..

решение1

В командной строке cmd это должно сработать:

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

Если вы используете Windows 7/8 или у вас установлен Powershell, я бы посоветовал вам изучить его. В Powershell вы бы сделали что-то вроде:

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

решение2

Альтернативное решение (по стоимости размера)

Перед dir svn exportWC в export-dir и таким образом устраните .svn dir(s)

Связанный контент