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

blu*_*utt 8 powershell powershell-ise powershell-2.0

嗨,我正在努力与以下 - 我假设我有以下目录结构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
Run Code Online (Sandbox Code Playgroud)

将导致C:\ Temp\Test2\Test1并没有参数组合似乎可以缓解这个问题

同样,当我希望删除C:\ Temp\Test2中的所有子内容时,我希望只删除子内容而不是实际文件夹,例如

Remove-Item C:\Temp\Test2\ -Recurse
Run Code Online (Sandbox Code Playgroud)

正在删除\ Test2文件夹.我尝试了很多参数变化 - 我怎样才能完成我想做的事情?

gor*_*ric 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 
}
Run Code Online (Sandbox Code Playgroud)


小智 5

    Copy-Item C:\Temp\Test1\* C:\Temp\Test2
    Remove-Item "C:\Temp\Test2\*" -recurse
Run Code Online (Sandbox Code Playgroud)

也工作:)