【问题标题】:Powershell show recursive contents for specific folder namesPowershell 显示特定文件夹名称的递归内容
【发布时间】:2014-05-06 00:25:22
【问题描述】:

我正在尝试编写一个 PowerShell 脚本,它将搜索网络共享中名为“abc”的所有文件夹。此文件夹的多个实例位于此共享中,在不同的 DIR 中均名为“abc”

我想列出所述目录中每个名为“abc”的文件夹的文件和文件夹内容。到目前为止,我已经让 PowerShell 列出网络驱动器中名为“abc”的文件夹的所有实例,但在那之后我被卡住了。

我可以将它导入另一个命令,然后搜索并列出每个文件夹的内容吗?

【问题讨论】:

    标签: powershell


    【解决方案1】:

    你可以试试htis之类的东西

    Get-ChildItem -Filter "abc" -Recurse -Path "\\myserver\share" | #Find abc
    Where-Object { $_.PSIsContainer } | #Get only abc-folders
    Get-ChildItem -Recurse | #Search through each abc-folder
    Where-Object { !$_.PSIsContainer } #Get only files
    

    如果您在服务器上本地运行脚本或使用 psremoting(例如使用 Invoke-Command),性能会更好。问题是它会递归地搜索所有文件和文件夹,然后从第一Get-ChildItem 行的搜索结果中删除文件。

    如果你有 PS 3.0 或 PS 4.0,你也可以使用:

    Get-ChildItem -Filter "abc" -Recurse -Path "\\myserver\share" -Directory | #Find abc-folders
    Get-ChildItem -Recurse -File #Get files inside those folders
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-08
      • 1970-01-01
      • 2019-05-28
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多