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

如何在PowerShell中将Excel转换的CSV文件保存到指定路径

解决方案

要把CSV文件导出到指定的目标文件夹,核心是重新构造CSV文件的输出路径,而不是直接替换原文件的后缀。以下是两种常用的实现方式:

方式一:所有CSV统一放到目标根目录

如果不需要保留原Excel文件的目录结构,直接把所有CSV集中到一个目标文件夹:

# 指定CSV要导出的目标文件夹
$TargetFolder = "C:\Users\j.doe\Desktop\Test Stage EDIT\Target"

# 提前检查目标文件夹是否存在,不存在则自动创建
if (-not (Test-Path -Path $TargetFolder)) {
    New-Item -Path $TargetFolder -ItemType Directory | Out-Null
}

$Files = Get-ChildItem -Path "C:\Users\j.doe\Desktop\Test Stage EDIT\Source" -Include *.xlsx -Recurse
ForEach ($File in $Files) {
    # 拼接目标CSV的完整路径:目标文件夹 + 替换后缀后的文件名
    $CsvOutputPath = Join-Path -Path $TargetFolder -ChildPath ($File.Name -replace '\.xlsx$', '.csv')
    # 执行转换并导出到目标路径
    Import-Excel -Path $File.FullName | Export-Csv -Path $CsvOutputPath -NoTypeInformation
}

关键说明

  • 使用Join-Path拼接路径是PowerShell中处理路径的标准方式,能自动处理路径分隔符(比如\)的问题,避免手动拼接字符串出错。
  • 提前创建目标文件夹,防止因文件夹不存在导致导出失败。

方式二:保留原文件的目录结构

如果原Excel文件分布在Source的子文件夹中,希望CSV文件也在Target下保持相同的目录层级:

$SourceFolder = "C:\Users\j.doe\Desktop\Test Stage EDIT\Source"
$TargetFolder = "C:\Users\j.doe\Desktop\Test Stage EDIT\Target"

$Files = Get-ChildItem -Path $SourceFolder -Include *.xlsx -Recurse
ForEach ($File in $Files) {
    # 计算当前Excel文件相对于源文件夹的路径
    $RelativePath = $File.FullName.Substring($SourceFolder.Length)
    # 将相对路径替换为目标文件夹下的路径,并修改文件后缀为.csv
    $CsvOutputPath = Join-Path -Path $TargetFolder -ChildPath ($RelativePath -replace '\.xlsx$', '.csv')
    
    # 确保CSV文件所在的子文件夹存在
    $CsvParentDir = Split-Path -Path $CsvOutputPath -Parent
    if (-not (Test-Path -Path $CsvParentDir)) {
        New-Item -Path $CsvParentDir -ItemType Directory | Out-Null
    }
    
    Import-Excel -Path $File.FullName | Export-Csv -Path $CsvOutputPath -NoTypeInformation
}

关键说明

  • 通过截取FullName中源文件夹长度之后的部分,得到文件的相对路径,再映射到目标文件夹下。
  • 用Split-Path获取CSV文件的父目录,提前创建该目录,保证子文件夹结构和源目录一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 09:35:15