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
我有查找文件夹的代码,然后查找我告诉它的条件。到目前为止,一切都很好。然后我得到了一个 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