powershell - powershell 根据时间戳从不同文件夹复制.txt文件并将其粘贴到同一子文件夹的备份文件夹中
问题描述
如何从以下结构复制和粘贴文件?
- 源文件夹 - D:\ClientData*\HrPay\Group*\STP
- 目标文件夹 - D:\ClientData*\HrPay\Group*\STP_BKP
我需要根据时间戳将所有 .txt 文件从源文件夹复制到目标文件夹。如果它是一个文件夹,我可以复制和粘贴,但它有多个文件夹和子文件夹。
源文件夹
- D:\ClientData\12\HrPay\Group\grp1\STP
- D:\ClientData\12\HrPay\Group\grp2\STP
- D:\ClientData\13\HrPay\Group\grp1\STP
- D:\ClientData\14\HrPay\Group\grp1\STP
- D:\ClientData\15\HrPay\Group\grp2\STP
谁能指导我如何遍历所有这些文件夹并将其粘贴到具有备份子文件夹的同一文件夹中?
解决方案
尝试这个:
#Note: Path must be parent of first directory to create a
# backup for!
$Dirs = Get-ChildItem -path "G:\Test" -Recurse |
Where-Object {$_.PSIsContainer -eq $True}
#--- Create Backup Directories & Copy Files ---
$Dirs | ForEach-Object {
$NIArgs = @{Path = "$($_.FullName)"
Name = "Backup"
ItemType = "Directory"}
Try { New-Item @NIArgs }
Catch {} #Directory Exists
$BkUpDir = "$($_.FullName)" + "\Backup"
Get-ChildItem -path "$($_.FullName)" |
Where-Object {$_.PSIsContainer -eq $False} |
Copy-Item -Destination "$BkUpDir"
} #End ForEach-Object
推荐阅读
- jestjs - 为什么不需要开玩笑?
- javascript - 通过jquery(或javascript)将动态添加的元素永久保存到视图(或项目)asp.net-mvc
- html - 如何并排创建两个 HTML 按钮
- mule - 在 Dataweave 转型方面需要帮助
- swift - 插入时 Swift 4 + SQLite
- asp.net - 我们可以为 IIS 7.5 中的两个应用程序使用相同的域吗?
- javascript - AngularFire2 更新创建新文档字段而不是更新字段
- python - 两个大型数据集的最快迭代合并
- python - 按下按钮时在 Python tkinter 条目中获取输入
- python - 在 end=' ' 之后打印语句