[英]Run a command using PowerShell on each directory with an assumed path component
[英]Run command in each sub directory using PowerShell
我想在包含pom.xml
文件的Eclipse工作区中的每个目录中运行mvn clean compile
。
我能够为包含.svn
每个目录运行svn update
,如下所示:
PS C:\workspace> Get-ChildItem -recurse -force |
where {$_.name -eq ".svn"} |
foreach {svn update $_.parent.FullName}
但是,这提供了svn
的完整路径并从当前目录运行。 mvn clean compile
需要在目录afaik内运行。 尝试做以下,但后来我只是得到一个错误说不能为空。 似乎是它抱怨的第一个cd
电话。 我只是有一些语法错误,或者我使用foreach
错了吗?
PS C:\workspace> Get-ChildItem -recurse |
where {$_.name -eq "pom.xml"} |
foreach { cd $_.parent.name; mvn clean compile; cd ..; }
似乎$_.parent.FullName
属性在第一种情况下起作用,因为我只过滤了目录。 在这种情况下,我过滤掉了文件,所以我通过使用$_.DirectoryName
来实现它。
PS C:\workspace> Get-ChildItem -recurse |
where {$_.name -eq "pom.xml"} |
foreach { cd $_.DirectoryName; mvn clean compile; cd ..; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.