复制目录结构+文件,但要排除文件名中包含备份字的文件

时间:2017-01-09 09:51:51

标签: powershell powershell-v3.0

我正在尝试复制目录结构+特定文件,但同时要从名称中包含“backup”一词的所选类型中排除文件。 这句话

Get-ChildItem "F:\rbf" -include *.txt, *.svc -Recurse |
    ? {$_.fullname -notmatch '\\backup\\'} |
    % {Copy-Item $_.fullname "D:\New\"}

复制所需的文件并排除不​​想要的文件,但我还需要保留整个目录树。

3 个答案:

答案 0 :(得分:0)

compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'

compile 'com.android.support:design:23.3.0' //23.4.0


//try to delete these below libraries and see if it works
compile 'com.android.support:appcompat-v7:23.3.0' //23.4.0
compile 'com.android.support:support-v4:23.3.0' //23.4.0

答案 1 :(得分:0)

使用robocopy而不是尝试在PowerShell中重新发明轮子。

这将复制所有.txt和.svc文件,除非文件名中包含“backup”字符串:

robocopy F:\rbf D:\New *.txt *.svc /s /xf *backup*

这将复制所有.txt和.svc文件,除非它们位于名为“backup”的目录中:

robocopy F:\rbf D:\New *.txt *.svc /s /xd backup

答案 2 :(得分:-2)

Copy-Item也有include和exclude:

Copy-Item -path F:\rbf -Destination D:\New\ -exclude *backup* -recurse

这应该使用目录结构复制所需的文件,而不是复制备份文件。