Powershell在csv上循环';s并使用其原始名称将其放入新文件夹中
我写了下面的powershell:Powershell在csv上循环';s并使用其原始名称将其放入新文件夹中,powershell,for-loop,filenames,export-csv,Powershell,For Loop,Filenames,Export Csv,我写了下面的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:\User
$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和原始文件名?在
foreach
循环中,可以使用以下选项:
Export-Csv -Path (Join-Path $Destination $file.Name) -NoType
查询文件时返回
FileInfo
对象<代码>$files在代码中包含这些对象。每个对象都包含属性FullName
、BaseName
和Name
FullName
包含文件名、文件路径和扩展名BaseName
包含不带路径和扩展名的文件名Name
包含扩展名为的文件名,但不包含路径。加入路径$Destination$file.Name
。谢谢,这已经奏效,但它没有选择我的标题&只是复制空白文件,有什么想法吗?输出到CSV需要一个具有属性的对象。您可以执行”|选择$headers |导出CSV代码>