【发布时间】:2019-09-09 16:40:02
【问题描述】:
试图让我的复制项复制目录中除子文件夹之外的所有内容。我能够在文件夹和文件中排除,但不能在子文件夹中排除。
我尝试在复制项中使用 get-children 和 -exclude,但没有像我希望的那样排除它们
$exclude = "folder\common"
Get-ChildItem "c:\test" -Directory |
Where-Object{$_.Name -notin $exclude} |
Copy-Item -Destination 'C:\backup' -Recurse -Force
希望公用文件夹存在,但其中没有任何内容可以复制。
感谢您的帮助
【问题讨论】:
-
{$_.Name -notin $exclude}->{$_.FullName -notmatch $exclude} -
试过了,但没有排除公用文件夹
-
$exclude如果您使用正则表达式匹配(-match或-notmatch),则需要进行正则表达式转义。$exclude = [regex]::Escape("folder\common")或手动转义 \ 与 \\. -
@AdminOfThings 这两个我都试过了,好像没有排除文件夹
-
如果 $exclude = "folder" 就容易多了。