写一个剪切指定目录所有文件到另一个目录并删除源文件且不覆盖现有文件的powershell脚本
时间: 2024-10-20 08:17:29 浏览: 19
批处理bat文件操作
4星 · 用户满意度95%
你可以使用以下 PowerShell 脚本来实现这个功能。这段脚本会在目标目录中复制指定目录下的所有文件,但如果目标文件已存在,它将不覆盖原有文件,并且会从源目录删除这些文件:
```powershell
# 定义源目录和目标目录
$sourceDir = "C:\SourceDirectory"
$destinationDir = "C:\DestinationDirectory"
# 使用Copy-Item命令复制文件并添加确认提示
Get-ChildItem -Path $sourceDir -Recurse -Include * -Not File |
Copy-Item -Destination ($destinationDir + $_.BaseName) -Force -ErrorAction SilentlyContinue |
Out-Null
# 删除源目录中的文件(除非有错误)
Get-ChildItem -Path $sourceDir -Recurse -File |
Remove-Item -Confirm:$false -ErrorAction SilentlyContinue
Write-Host "文件复制完成,源文件已删除."
# 可视化结果
Write-Host "已存在的文件没有被覆盖。可以在$destinationDir查看复制后的文件."
# 结果验证
阅读全文