我想过滤包含特定条件的文件夹列表,同时排除 PowerShell 中的另一组条件。
下面的代码是目前正在玩的部分继承的代码;-Exclude
似乎排除*EDS*
了名称中包含但不包含的文件夹*eng*
。以下是仍然包含的内容的示例输出:
C:\Users\USERNAME\Box\CTRL Active Projects\project1\project1_OPS\06-Software\04-Database Backups\01-Record Backup
C:\Users\USERNAME\Box\CTRL Active Projects\project1\project1_OPS\06-Software\04-Database Backups
C:\Users\USERNAME\Box\CTRL Active Projects\project1\project1_OPS\01-Eng\03-Submittals WIP\Backups
最终-Exclude *eng*, *EDS*
可能会转换为变量/命名数组列表。
# Find sub-folder within job folder
$DatabaseFolder = (Get-ChildItem -Path $JobFolder -Filter "*Backup*" -Exclude *eng*, *EDS* -Recurse -Directory).Fullname | Sort-Object -Descending -Property LastWriteTime
Write-Output $DatabaseFolder
$JobFolder
返回搜索子目录的路径:
C:\Users\USERNAME\Box\CTRL Active Projects\project1\
其他一些背景信息:PowerShell 5.1 被用作管理员,Windows 10 操作系统
有人可以帮我理解为什么代码仍然包含一些排除的参数吗?