在 Powershell 中复制同名文件夹
Copy folder with same name in Powershell
我想将文件夹子文件夹和文件从源复制到目标,例如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 的新手,所以如果我的要求有点偏执,请原谅。
$Directory
这里将是一个具有 fileinfo
和 directoryinfo
.
的所有属性和方法的对象
您可以$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
}
我想将文件夹子文件夹和文件从源复制到目标,例如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 的新手,所以如果我的要求有点偏执,请原谅。
$Directory
这里将是一个具有 fileinfo
和 directoryinfo
.
您可以$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
}