0

我写了下面的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 和原始文件名?

4

1 回答 1

1

在您的foreach循环中,您可以使用以下内容:

Export-Csv -Path (Join-Path $Destination $file.Name) -NoType

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

于 2020-01-30T20:13:38.513 回答