10

mvn clean compileファイルを含むEclipseワークスペースの各ディレクトリで実行したいと思いpom.xmlます。

私は次のようなものsvn updateを含む各ディレクトリに対して実行することができました.svn

PS C:\workspace> Get-ChildItem -recurse -force | 
where {$_.name -eq ".svn"} | 
foreach {svn update $_.parent.FullName}

ただし、これにより、現在のディレクトリへのフルパスが提供さsvnれ、現在のディレクトリから実行されます。mvn clean compileディレクトリafaik内で実行する必要があります。次のことを試してみましたが、何かをnullにすることはできないというエラーが表示されます。cdそれが不平を言う最初の電話のようです。構文が間違っているだけですか、それともforeach間違って使用していますか?

PS C:\workspace> Get-ChildItem -recurse | 
where {$_.name -eq "pom.xml"} | 
foreach { cd $_.parent.name; mvn clean compile; cd ..; }
4

1 に答える 1

15

$_.parent.FullName最初のケースでは、ディレクトリのみを除外していたため、プロパティが機能したようです。この場合、ファイルを除外したので、$_.DirectoryName代わりにを使用して機能させました。

PS C:\workspace> Get-ChildItem -recurse | 
where {$_.name -eq "pom.xml"} | 
foreach { cd $_.DirectoryName; mvn clean compile; cd ..; }
于 2012-11-06T12:28:22.273 に答える