使用通用文件名将文件保存在循环中

Saving files in a loop with generic file name

如何遍历文件列表、执行操作并使用列表中的名称将文件保存到新位置?

例如,我有一个 CSV 文件列表和一个新名称列表,我想对 CSV 文件做一个简单的操作,比如更改分隔符,并将每个文件保存到一个新位置名称列表中的名称。如何正确设置保存路径和新名称?

$files = Get-ChildItem C:\folder\*.csv
$te = Import-Csv C:\names.csv
For ($i=0; $i -lt $te.Length;$i++){
    Import-Csv $file -Delimiter "|" | Export-Csv -Path C:\another_folder$te[$i].csv -Delimiter ","
}

准确的说是-Path语句后的保存路径有误。我该如何解决这个问题?

您只需要引号包裹路径:

$files = Get-ChildItem C:\folder\*.csv
$te = Import-Csv C:\names.csv
For ($i=0; $i -lt $te.Length;$i++){
    Import-Csv $file -Delimiter "|" | Export-Csv -Path "C:\another_folder$te[$i].csv" -Delimiter ","
}