您好我正在努力与以下内容 - 假设我有以下目录结构C:\ Temp \ Test1和C:\ Temp \ Test2
我想做的是递归地将C:\ Temp \ Test1的子内容复制到C:\ Temp \ Test2而不复制实际的文件夹C:\ Temp \ Test1 ..right如果我使用的话命令
Copy-Item C:\Temp\Test1 C:\Temp\Test2 -Recurse
会导致C:\ Temp \ Test2 \ Test1并且没有参数组合似乎可以缓解问题
同样,当我希望删除C:\ Temp \ Test2中的所有子内容时,我希望仅删除子内容而不删除实际文件夹,例如
Remove-Item C:\Temp\Test2\ -Recurse
正在删除\ Test2文件夹。我尝试了很多参数变化 - 我怎样才能完成我想做的事情?
答案 0 :(得分:8)
查看get-childitem命令。您可以在管道中使用它来复制或删除根文件夹下的所有项目:
# recursively copy everything under C:\Temp\Test1 to C:\Temp\Test2
get-childitem "C:\Temp\Test1" | % {
copy-item $_.FullName -destination "C:\Temp\Test2\$_" -recurse
}
# recursively remove everything under C:\Temp\Test1
get-childitem "C:\Temp\Test1" -recurse | % {
remove-item $_.FullName -recurse
}
答案 1 :(得分:5)
Copy-Item C:\Temp\Test1\* C:\Temp\Test2
Remove-Item "C:\Temp\Test2\*" -recurse
也适用:)