在 Powershell 中复制同名文件夹

Copy folder with same name in Powershell

我想将文件夹子文件夹和文件从源复制到目标,例如D:\WIP\letscD:\WIP\letsc1。请注意,目标子文件夹与源文件夹同名。到目前为止我有这个但是它在第 4 行失败了。

从第三行代码开始,它会在目标位置的 $CreateFolderPath 下创建一个目录,然后它应该将同一文件夹复制到目标位置。

$CreateFolderPath = Get-ChildItem -Path "D:\WIP\letsc" 
foreach ($directory in $CreateFolderPath) {
New-Item -Path D:\WIP\letsc1$directory -ItemType Directory -force
Copy-Item -recurse $directory -Destination D:\wip\letsc1$directory -Force
}

为简化情况 D:\WIP\Letsc\ECBREG64 应复制到 D:\WIP\LetsC\ECBREG64\ECBREG64

我是 powershell 的新手,所以如果我的要求有点偏执,请原谅。

$Directory 这里将是一个具有 fileinfodirectoryinfo.

的所有属性和方法的对象

您可以$CreateFolderPath | Get-Member查看各个输出类型的所有可能属性和成员,以便您可以使用其中的相关项。

对于您的问题,您在复制时需要 file/directory 的全名,在创建文件夹时需要 BaseName。

$CreateFolderPath = Get-ChildItem -Path "D:\WIP\letsc" 
foreach ($directory in $CreateFolderPath) {
New-Item -Path "D:\WIP\letsc1$($directory.BaseName)" -ItemType Directory -force
Copy-Item -recurse $directory.FullName -Destination "D:\wip\letsc1$($directory.BaseName)" -Force
}