Powershell比较两个目录中的文件夹和子文件夹名称

Powershell比较两个目录中的文件夹和子文件夹名称,powershell,directory,compare,Powershell,Directory,Compare,我有以下文件夹: V:\100移动直到到达\ES E:\ES 我想比较文件夹和子文件夹的名称,以确保它们相似。 我一直试图让以下代码正常工作,但没有成功: $ES = Get-ChildItem -Recurse -path E:\ES $ES = Get-ChildItem -Recurse -path V:\100 Migrering til Dalux\ES Compare-Object -ReferenceObject $ES -DifferenceObject $ES 编辑:我得

我有以下文件夹:

V:\100移动直到到达\ES
E:\ES
我想比较文件夹和子文件夹的名称,以确保它们相似。
我一直试图让以下代码正常工作,但没有成功:

$ES = Get-ChildItem -Recurse -path E:\ES
$ES = Get-ChildItem -Recurse -path V:\100 Migrering til Dalux\ES

Compare-Object -ReferenceObject $ES -DifferenceObject $ES
编辑:我得到以下错误:

Get-ChildItem:找不到接受参数“til”的位置参数。 第3行字符:7

  • $ES=Get ChildItem-Recurse-path V:\100 migerring til Dalux\ES
    • CategoryInfo:InvalidArgument:(:)[Get ChildItem],ParameterBindingException
    • FullyQualifiedErrorId:PositionParameterNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
    • 您有两个错误

    • 您的目录路径中有空间
    • 您使用相同的变量进行比较
    • 试着这样做:

      $ES1 = Get-ChildItem -Recurse -path "E:\ES"
      $ES2 = Get-ChildItem -Recurse -path "V:\100 Migrering til Dalux\ES"
      
      Compare-Object -ReferenceObject $ES1 -DifferenceObject $ES2
      

      “没有成功”是什么样子?有错误吗?如果是这样,错误消息会说什么?您需要用空格引用路径
      'V:\100 Migrering til Dalux\ES'
      正如@DougMaurer所说,但是,您对两个列表使用的变量完全相同,因此您试图将目录列表与自身进行比较,并且(正如标题所述)如果您只想比较文件夹名称,而不想比较其中的文件,则应该在Get ChildItem调用中添加开关
      -directory
      $ES1 = Get-ChildItem -Recurse -path "E:\ES"
      $ES2 = Get-ChildItem -Recurse -path "V:\100 Migrering til Dalux\ES"
      
      Compare-Object -ReferenceObject $ES1 -DifferenceObject $ES2