Powershell遍历csv,并使用其原始名称将其放置到新文件夹中

问题描述 投票:0回答:1

我已经写了下面的PowerShell:

$Headers = @(
 "Purchase Order"
  "SKU"
  "Markdown"
  "Landed Cost"
  "Original Price"
  "Current Sale Price"
  "Free Stock"
  "OPO"
  "ID Style"
  "Supplier Style No")


$Location = "\\dc1\shared\BI\HisRms"
$Destination = "C:\Users\jonathon.kindred\Desktop\RMM\"
$files = Get-ChildItem $location -Recurse -Filter "*.csv"


Foreach ($file in $files) { Select $Headers | Export-Csv Join-Path "C:\Users\jonathon.kindred\Desktop\RMM\" $_.FullName -Force -NoTypeInformation}

我遇到的问题是,它在所有文件上均失败,因为我不对文件路径进行硬编码以在末尾使用.csv。如何做到这一点,以便我加入$ Destination和原始文件名的路径?

powershell for-loop filenames export-csv
1个回答
0
投票

foreach循环中,您可以使用以下代码:

Export-Csv -Path (Join-Path $Destination $file.Name) -NoType
查询文件时,

Get-ChildItem返回FileInfo对象。 $files在代码中包含这些对象。每个对象都包含属性FullNameBaseNameNameFullName包含文件名,文件路径和扩展名。 BaseName包含文件名,不包含路径和扩展名。 Name包含带有扩展名的文件名,但不包括路径。

© www.soinside.com 2019 - 2024. All rights reserved.