ForEach-Object/Copy-Item 只有内容(不是文件夹本身!)

ForEach-Object/Copy-Item only content (not the folder itself!)

我有查找文件夹的代码,然后查找我告诉它的条件。到目前为止,一切都很好。然后我得到了一个 ForEach-Object 里面有一个 Copy-Item $_.Fullname。代码本身正在运行并且没有出现任何错误,但我不想复制文件夹本身及其内容。我只想复制文件夹的内容。我已经尝试过 $_.Fullname/* 等等。

我的代码如下所示:

Get-ChildItem -Path $DestinationBackup | Where {
    $_.Name -like "$BackupName_Differential3*"
} | ForEach-Object {
    Copy-Item -Path $_.FullName -Recurse -Destination $Differential_Destination -Force
}

编辑 1:

我的文件夹结构如下所示:

M143                       ← (Root Folder)
├─Backups                  ← (Folder, here are Backups stored)
│ ├─Fullbackup...
│ ├─Incrementalbackup...   ← Copy Content of this folder, without folder)
│ └─Differentialbackup...  ← (Into this folder)
└─Backup_Script.ps1

这个...

Copy-Item -Path $_.FullName -Recurse

...是你的问题。下面应该是你想要的。

(Get-ChildItem -Path E:\BackUps -Recurse).FullName

复制前的结果

E:\BackUps\Differential
E:\BackUps\Full
E:\BackUps\Incremental
E:\BackUps\Incremental\IncBU001.bkp
E:\BackUps\Incremental\IncBU002.bkp
E:\BackUps\Incremental\IncBU003.bkp

Copy-Item -Path 'E:\BackUps\Incremental\*' -Destination 'E:\BackUps\Differential'

(Get-ChildItem -Path E:\BackUps -Recurse).FullName

复制后的结果

E:\BackUps\Differential
E:\BackUps\Full
E:\BackUps\Incremental
E:\BackUps\Differential\IncBU001.bkp
E:\BackUps\Differential\IncBU002.bkp
E:\BackUps\Differential\IncBU003.bkp
E:\BackUps\Incremental\IncBU001.bkp
E:\BackUps\Incremental\IncBU002.bkp
E:\BackUps\Incremental\IncBU003.bkp