Powershell 2.0问题,脚本从备份位置恢复文件夹

时间:2014-01-17 23:25:28

标签: powershell

我有一个备份文件夹F:\ DATA \ 01172014 - 这个文件夹有五个子目录\ Folder1,\ Folder2,Folder3,Folder4,Folder5

F:\ DATA \ 01172014 .. .. \ Folder1中 .. \文件夹2 .. \ Folder3 .. \ Folder4 .. \ Folder5

我想将文件夹1到5复制到E:\ Main位置覆盖现有文件夹

E:\主 .. \ Folder1中 .. \文件夹2 .. \ Folder3 .. \ Folder4 .. \ Folder5

我的问题是,当我运行脚本时,它找到01172014文件夹并将其复制到E:\ Main作为相同的名称,并且不会覆盖旧文件夹

E:\主 .. \ 01172014 .. \ Folder1中 .. \文件夹2 .. \ Folder3 \ Folder4 .. \ Folder5

我的问题是我缺少什么

这是我正在使用的代码: -

Get-ChildItem -Path F:\DATA -r | 
Where-object {$_.PSIscontainer -and (($_.lastwritetime.date -eq ((get-date).adddays(-1)).date))}  |
% { Copy-Item  $_.fullName -destination E:\Main\ -force -R -whatif}

1 个答案:

答案 0 :(得分:0)

你告诉它要复制带有日期戳的文件夹和内容,它就是。

尝试使用类似这样的内容来复制日期戳文件夹及其子文件夹的内容,但不复制文件夹本身(-Container开关保留结构):

$BackupDir = Get-ChildItem ("F:\DATA\" + (((get-date).AddDays(-1).ToString("MMddyyyy"))))|%{$_.FullName}  

Copy-Item $BackupDir -Destination ("E:\Main\" + (Split-Path $BackupDir -leaf)) -R -Container -Force -WhatIf