首页 > 解决方案 > powershell 根据时间戳从不同文件夹复制.txt文件并将其粘贴到同一子文件夹的备份文件夹中

问题描述

如何从以下结构复制和粘贴文件?

我需要根据时间戳将所有 .txt 文件从源文件夹复制到目标文件夹。如果它是一个文件夹,我可以复制和粘贴,但它有多个文件夹和子文件夹。

源文件夹

谁能指导我如何遍历所有这些文件夹并将其粘贴到具有备份子文件夹的同一文件夹中?

标签: powershellcopy-paste

解决方案


尝试这个:

#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

推荐阅读