CMD / Powershell:使用部分路径通配符复制文件

时间:2019-03-14 05:58:43

标签: windows powershell cmd

我想使用Windows命令提示符,Powershell或两者的组合来实现以下功能:

假设给我们一个源目录sourcedir和一个目标目录destinationdir,并且我们想递归地将文件从源复制到目标。

我们还获得了通配符过滤器,例如*/foo/bar/*;过滤器意味着在sourcedir中查找路径中任何位置包含/foo/bar/的所有文件。例如,将复制sourcedir/foo/bar/file1.txtsourcedir/baz/foo/bar/file2.txt,而不会复制sourcedir/foo/baz/bar/file3.txt

2 个答案:

答案 0 :(得分:0)

是的,用一堆随机的东西弄清楚了。事实证明*/foo/bar/*部分路径确实在Get-ChildItem中起作用:

Get-ChildItem -Path "$($sourcedir)\$($filter)" -Recurse | Copy-Item -Destination $destinationdir

答案 1 :(得分:0)

您可以尝试

copy-Item $SourceDir $DestinationDir -recurse