我想将文件夹子文件夹和文件从源复制到目标,例如D:\WIP\letsc
到D:\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的新手所以请原谅我,如果我的要求有点偏执。
答案 0 :(得分:0)
$Directory
此处将是包含fileinfo
和directoryinfo
的所有属性和方法的对象。
您可以执行$CreateFolderPath | Get-Member
查看相应输出类型的所有可能属性和成员,以便您可以使用其中的相关项。
对于您的问题,您在复制时需要文件/目录的全名,在创建文件夹时需要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
}