我想使用Windows命令提示符,Powershell或两者的组合来实现以下功能:
假设给我们一个源目录sourcedir
和一个目标目录destinationdir
,并且我们想递归地将文件从源复制到目标。
我们还获得了通配符过滤器,例如*/foo/bar/*
;过滤器意味着在sourcedir
中查找路径中任何位置包含/foo/bar/
的所有文件。例如,将复制sourcedir/foo/bar/file1.txt
和sourcedir/baz/foo/bar/file2.txt
,而不会复制sourcedir/foo/baz/bar/file3.txt
。
答案 0 :(得分:0)
是的,用一堆随机的东西弄清楚了。事实证明*/foo/bar/*
部分路径确实在Get-ChildItem中起作用:
Get-ChildItem -Path "$($sourcedir)\$($filter)" -Recurse | Copy-Item -Destination $destinationdir
答案 1 :(得分:0)
您可以尝试
copy-Item $SourceDir $DestinationDir -recurse