只有没有根文件夹的Copy-Item / Remove-Item子内容?

时间:2012-07-19 16:11:17

标签: powershell powershell-v2.0 powershell-ise

您好我正在努力与以下内容 - 假设我有以下目录结构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文件夹。我尝试了很多参数变化 - 我怎样才能完成我想做的事情?

2 个答案:

答案 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

也适用:)