小编在做一个小功能的时候,遇到一个功能,就是把一个目录中的指定条件的文件,移动到另外一个目录。这是需求,然后我们来分析下该怎么实现。
首先获取一个目录下子项目,第一时间可以想到Get-ChildItem,但我们之前用得太多了,这次小编想换个花样,我们就用Get-Item,然后用通配符来包括所有的子项目。当然,如果你需要指定的文件是以文件名来匹配的,那可以直接在这里使用匹配规则。
然后从选出来的子项目中,筛选中文件来。这个也是一个非常常用的功能,那就是判断PSIsContainer属性是否为$false了。
最后,把筛选出来的结果再Move到另一个目录下,当然使用Move-Item这个cmd-let。
所以,最终的代码如下:
Get-Item <路径1>\* | Where-Object {$_.PSIsContainer -eq $false} | Move-Item -Destination <另一目录的路径>
如果你的需求跟小编演示的略有出入,但有了这个模板后,应该很容易改成你想要的样子吧。