Переход от NAnt к PowerShell.Копировать / Удалить замену - PullRequest
0 голосов
/ 12 декабря 2011

Пожалуйста, помогите мне перевести это в PowerShell:

<delete>
  <fileset defaultexcludes="false" basedir="${svnRepository}">
    <include name="**/*" />
    <exclude name="**/.svn" />
    <exclude name="**/.svn/**" />
  </fileset>
</delete>

<!-- Copy entire output of successful build into the svn working folder -->
<copy todir="${svnRepository}">
  <fileset defaultexcludes="false" basedir="${binariesFolder}">
    <include name="**/*" />
    <exclude name="**/Bin/*.pdb"/>
    <exclude name="**/Bin/*.xml"/>
  </fileset>
</copy>

PowerShell

Get-ChildItem -recurse "$svnRepository" | ? {$_.FullName -notmatch '.svn'} | Remove-Item -Recurse

Я пытался написать что-то подобное выше, но это не исключает все каталоги SVN во вложенных папках, например, если у меня есть каталог C:\blabla\test с вложенными .svn, он будет игнорировать C:\blabla\test\.svn\*, но в то же время он попытается удалить C:\blabla\test сам

1 Ответ

1 голос
/ 12 декабря 2011

Вы уверены, что должны что-то здесь делать?Get-ChildItem уже не содержит скрытых папок, таких как .svn, .git и т. Д., И включает их только при указании параметра -Force.

...