PowerShell使用Copy-Item复制已有文件夹加-Force参数仍报错怎么解决
PowerShell使用
Copy-Item复制文件夹加-Force仍提示目标已存在的解决方案 报错原因
该报错由PowerShell
Copy-Item的默认文件夹复制逻辑导致:当目标路径C:\folder2已存在时,直接传入源文件夹路径执行命令,默认会尝试将整个folder1作为子文件夹写入folder2下,而非合并/覆盖已有的folder2目录,此时仅添加-Force参数无法触发覆盖逻辑。
解决方案
根据你的实际需求选择对应操作:
- 场景1:将
folder1内的所有内容合并到已存在的folder2中,仅覆盖同名文件/子文件夹,保留folder2中原有的其他内容
执行命令时在源路径末尾添加\*匹配所有内部项,同时补充-Recurse参数递归处理子目录:Copy-Item -Path 'c:\folder1\*' -Destination 'c:\folder2' -Recurse -Force - 场景2:用
folder1完全替换已存在的folder2,删除folder2原有全部内容
先删除目标文件夹再执行复制操作即可:# 先判断目标存在再删除,避免删除不存在路径时报错 if (Test-Path 'c:\folder2') { Remove-Item -Path 'c:\folder2' -Recurse -Force } Copy-Item -Path 'c:\folder1' -Destination 'c:\folder2' -Recurse -Force
注意事项
以上命令同时兼容PowerShell 5.1及PowerShell 7+所有主流版本。
内容的提问来源于stack exchange,提问作者user310291
相关产品推荐
相关产品推荐

