PowerShell脚本使用扩展名查找文件并排除文件夹

时间:2018-06-08 21:37:06

标签: powershell

我使用以下代码:

Get-ChildItem -Path N:\USERS -Filter DANTOM.DTM -Recurse -ErrorAction SilentlyContinue -Force

我需要它来找到文件“DANTOM.DTM”或扩展名“.DTM”。我需要排除文件夹N:\ USERS \ EDI,因为它是一个1.7TB文件夹,永远不会有这个文件。所以这样做真的会加快这个过程。

我希望最终结果是吐出一个.txt文件,说明N:\ USERS里面的文件夹有文件,或者只是将它显示为powershell中的列表。

谢谢,

1 个答案:

答案 0 :(得分:1)

假设感兴趣的文件不直接驻留在N:\USERS中(仅在子目录中),请尝试以下(PSv3 +语法);例如,通过附加> dirs.txt发送到文件。

Get-ChildItem N:\USERS -Directory | ? Name -ne 'EDI' | 
  Get-ChildItem -Recurse -Filter *.DTM | 
    ForEach-Object { $_.DirectoryName }

注意:尽管尝试使用-Exclude EDI更简单的方法很有吸引力,但遗憾的是,它似乎无法排除{{1}的整个子树子文件夹。