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

如何使用PowerShell批量复制文件并生成竖线分隔的成败日志

解决文件复制与结构化日志记录问题

以下是可以实现你需求的PowerShell脚本,它会清晰记录每个文件复制的成功或失败信息,输出格式为竖线分隔,可直接导入Excel进行分析:

完整脚本

# 定义需要复制的文件列表,可根据需求添加更多条目
$copyTasks = @(
    @{ 
        Source = "C:\Source_1\111a46bf-cc88-48c1-b20a-cc8f897dec84.docx"
        Destination = "C:\Destination_1\Renamed_Word_Doc1.docx"
    },
    @{ 
        Source = "C:\Source_2\222a46bf-cc88-48c1-b20a-cc8f897dec84.docx"
        Destination = "C:\Destination_1\Renamed_Word_Doc2.docx"
    }
)

# 日志文件路径
$outputFile = "C:\Output\copy_results.txt"

# 如果日志文件不存在,添加表头(方便Excel识别列)
if (-not (Test-Path $outputFile)) {
    Add-Content -Path $outputFile -Value "源文件路径 | 目标文件路径 | 操作状态"
}

# 遍历每个复制任务
foreach ($task in $copyTasks) {
    $sourcePath = $task.Source
    $destPath = $task.Destination

    try {
        # 执行复制操作,遇到错误时触发异常
        Copy-Item -Path $sourcePath -Destination $destPath -ErrorAction Stop
        # 记录成功信息
        $logLine = "`"$sourcePath`" | `"$destPath`" | 文件复制成功"
    }
    catch {
        # 捕获错误并记录详细原因
        $errorReason = $_.Exception.Message
        $logLine = "`"$sourcePath`" | `"$destPath`" | 复制失败:$errorReason"
    }

    # 将日志行追加到文件
    Add-Content -Path $outputFile -Value $logLine
}

脚本说明

  1. 任务列表定义:将所有需要复制的文件路径以键值对形式存入数组,便于批量管理和扩展。
  2. 表头初始化:首次运行时自动添加列名,导入Excel时可直接识别为表头。
  3. 错误捕获机制:使用-ErrorAction Stop强制复制错误触发异常,通过try/catch块捕获并记录失败原因。
  4. 结构化日志:每个日志行用竖线分隔,路径用双引号包裹(避免路径含空格时分割错误),确保Excel导入时列对齐准确。

示例输出

假设第二个文件复制失败,日志文件内容如下:

源文件路径 | 目标文件路径 | 操作状态
"C:\Source_1\111a46bf-cc88-48c1-b20a-cc8f897dec84.docx" | "C:\Destination_1\Renamed_Word_Doc1.docx" | 文件复制成功
"C:\Source_2\222a46bf-cc88-48c1-b20a-cc8f897dec84.docx" | "C:\Destination_1\Renamed_Word_Doc2.docx" | 复制失败:找不到路径 'C:\Source_2\222a46bf-cc88-48c1-b20a-cc8f897dec84.docx',因为它不存在。

Excel导入步骤

  1. 打开Excel,选择「数据」选项卡 → 「自文本/CSV」。
  2. 选择日志文件,在分隔符设置中选择「其他」并输入|。
  3. 确认数据预览无误后完成导入,即可得到结构化的复制结果表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 06:33:15