代码之家  ›  专栏  ›  技术社区  ›  Shubh Rocks Goel

获取ChildItem为Assembly.*.dll添加排除筛选器,但包含Assembly.Some.*.dll

  •  1
  • Shubh Rocks Goel  · 技术社区  · 6 年前

    我有一个要求,我想排除所有具有模式的程序集

    Assembly.*.dll
    

    但希望包含所有具有模式的程序集

    Assembly.Some.*.dll
    

    从同一地点到 Get-ChildItem .

    我想在一行脚本中实现这个功能。

    1 回复  |  直到 6 年前
        1
  •  5
  •   Mathias R. Jessen    6 年前

    你可以用 -or a内的操作员 Where-Object 过滤器:

    Get-ChildItem -Filter *.dll |Where-Object {
      $_.Name -like 'Assembly.Some.*.dll' -or $_.Name -notlike 'Assembly.*.dll'
    }
    

    因为任何一个名为 Assembly.Some.Namespace.dll 将在第一个条件下返回true,第二个条件将不被测试