Powershell-将文件名写入同一文件

Powershell-将文件名写入同一文件,powershell,Powershell,我有很多.csv文件,我想在最后一个位置的末尾将文件名写入同一个文件 例如,在C:\CSV中,我有: P0_0050569F52981EE39CEF8C857147E850.csv P0_0050569F52981EE39CEF8D4825092850.csv P0_0050569F52981EE39CEF8EE13B954850.csv …还有另外一千个这样的文件 在每个文件中,我都有一些内容: P0_0050569F52981EE39CEF8C857147E850.csv=365013

我有很多.csv文件,我想在最后一个位置的末尾将文件名写入同一个文件

例如,在C:\CSV中,我有:

  • P0_0050569F52981EE39CEF8C857147E850.csv

  • P0_0050569F52981EE39CEF8D4825092850.csv

  • P0_0050569F52981EE39CEF8EE13B954850.csv

…还有另外一千个这样的文件

在每个文件中,我都有一些内容:

  • P0_0050569F52981EE39CEF8C857147E850.csv=365013;253;9001
我想转换这个:
365013;253;9001
为此:

  • 365013;253;9001;

  • P0_0050569F52981EE39CEF8C857147E850.csv

我找不到错误

Get-ChildItem -Filter "*.csv" -Path "C:\CSV" -Recurse | % {

#Open file
$reader = New-Object System.IO.StreamReader $_.FullName

#Ignore first line
$reader.ReadLine() | out-null

#Get name
$filename = $filename

#Write  
Add-Content ";" $filename

#Close stream
$reader.Close()

}

这将发生在每个CSV结尾的文件名上

Get-ChildItem -Filter "*.csv" -Path "C:\CSV" -Recurse | % {

    (";"+"`r`n"+$_.name) | Out-File -FilePath $_.fullname -Append
}

米基布的选择应该行得通。下面是另一种方法:

Get-ChildItem -Filter "*.csv" -Path "C:\CSV" -Recurse | foreach {$contents = get-content $_.fullname; $contents +=";"+"`r`n"+$_.name; Set-Content $_.fullname -Value $contents }

您的意思是$filename=$\u0.Fullname而不是$filename=$filenameMickyB,我认为$\u0.name对请求的内容更准确,因为$\u0.Fullname包含文件的完整路径,包括目录。无论如何,你或我的答案可能已经足够接近了。