Как можно удалить все файлы Subversion из каталога с помощью PowerShell?
Как рекурсивно удалить все файлы SVN с помощью PowerShell
Ответ 1
Если вы действительно хотите просто удалить каталоги .svn, это может помочь:
gci c:\yourdirectory -include .svn -Recurse -Force |
Remove-Item -Recurse -Force
Изменить:
Добавлен параметр -Force
в gci
для отображения скрытых каталогов и сокращения кода.
Кит прав, что вам нужно избегать удаления файлов с расширением .svn, вы должны фильтровать элементы с помощью ?
.
Ответ 2
Предполагая, что вы не хотите удалять файлы, которые могут также иметь расширение .svn:
Get-ChildItem $path -r -include .svn -Force | Where {$_.PSIsContainer} |
Remove-Item -r -force
Microsoft ответила на предложение в комментариях ниже, что Кейт открыл MS Connect! Начиная с PowerShell V3 вы можете избавиться от лишнего (очень медленного) канала до Where {$_.PSIsContainer}
и вместо этого использовать -directory
:
gci $path -r -include .svn -force -directory | Remove-Item -r -force
PowerShell v3 можно скачать для Windows 7 на Windows Management Framework 3.0.
Ответ 3
Как насчет использования SVN Export, чтобы получить чистую проверку без каталогов .svn?
Edit
Вы можете посмотреть здесь ответ:
Командная строка для рекурсивного удаления соответствующих файлов и каталогов