我创建了一个简单的 Powershell 脚本,用于在部署期间将文件从目标目录复制到源目录,并且我想排除文件列表。但是需要注意的是,如果指定,我希望能够仅从子目录中排除文件。这是我用来执行复制和排除文件列表的片段:
$SourceDirectory = "C:\Source"
$DestinationDirectory = "C:\Destination"
$Exclude = @("*.txt*", "*.xml*")
Get-ChildItem $SourceDirectory -Recurse -Exclude $Exclude | Copy-Item -Destination {Join-Path $DestinationDirectory $_.FullName.Substring($SourceDirectory.length)}
这将排除指定文件出现在目录树中的任何位置。我想使用排除列表的地方是这样的:
$Exclude = @("*Sub1\.txt*", "*.xml*").
这将仅排除 Sub1 文件夹下的 .txt 文件,而将始终排除 .xml 文件。我知道这不起作用,但我希望它有助于更好地展示我正在尝试解决的问题。
我考虑过使用多维数组,但我不确定这是否可能是矫枉过正。任何帮助,将不胜感激。