You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell复制文件时若目标路径存在test-old.txt则跳过的实现方法

优化后可直接使用的PowerShell代码
$Source = '\\ser04\h\AppsData\test.txt'
$Destination = 'C:\users\*\AppData\Roaming\SAP\Common\'

# 遍历所有匹配的目标目录
Get-ChildItem $Destination -Directory | ForEach-Object {
    # 拼接当前目录下test-old.txt的完整路径
    $oldFile = Join-Path -Path $_.FullName -ChildPath 'test-old.txt'
    # 仅当旧文件不存在时执行复制
    if (-not (Test-Path -Path $oldFile -PathType Leaf)) {
        Copy-Item -Path $Source -Destination $_ -Force
    }
}
逻辑说明
  • 给Get-ChildItem追加-Directory参数,限定仅返回目录对象,避免匹配到同路径下的文件引发执行异常
  • 使用Join-Path拼接路径,规避手动拼接可能出现的斜杠不匹配问题
  • Test-Path追加-PathType Leaf参数,限定仅判断是否为文件,避免出现同名目录时触发误判
  • 只有目标目录下不存在test-old.txt时才会执行复制操作,完全匹配需求

内容的提问来源于stack exchange,提问作者RIC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:15:04