在powershell的输出文本文件中添加前缀commit

nvbavucw  于 2023-03-30  发布在  Shell
关注(0)|答案(1)|浏览(181)

我已经创建了下面的powershell脚本发送输出文件计数从三个不同的来源的文件位置,并正在正常工作.然而,输出文件只有计数在它的数量.我想添加的结果之前的评论一样“文件计数的总数是”,也想添加源文件的位置在文件中沿着计数.请帮助!!
此外,查询似乎很长,需要自定义。

$input="C:\Users\user1\Desktop\testcount\*"
$input1="C:\Users\user1\Desktop\testcount\testcount2"
$input2="C:\Users\user1\Desktop\testcount\testcount2"

$output="C:\Users\user1\Desktop\testcount\finaloutput\finaloutput.txt"
$output1="C:\Users\user1\Desktop\testcount\finaloutput\finaloutput1.txt"
$output2="C:\Users\user1\Desktop\testcount\finaloutput\finaloutput2.txt"

$readcontent=Get-Content $output
$readcontent1=Get-Content $output1
$readcontent2=Get-Content $output2

$date=Get-Date


Get-ChildItem $input -File | Measure-Object | %{$_.Count}|Set-Content -Path $output
Get-ChildItem $input1 -File | Measure-Object | %{$_.Count}|Set-Content -Path $output1 
Get-ChildItem $input2 -File | Measure-Object | %{$_.Count}|Set-Content  -Path $output2

Tried appending the output file by using -Value but did not work.
ecfsfe2w

ecfsfe2w1#

我建议将其导出为CSV,Get-ChildItem可以采用多个路径作为输入,然后您可以使用Group-Object按其父目录(DirectoryName)对文件进行分组,然后创建所需的输出:

$inputPaths = @(
    'C:\Users\user1\Desktop\testcount\'
    'C:\Users\user1\Desktop\testcount\testcount2'
    'C:\Users\user1\Desktop\testcount\testcount3'
)
$outputPath = 'C:\Users\user1\Desktop\testcount\finaloutput\finaloutput.txt'

Get-ChildItem $inputPaths -File |
    Group-Object DirectoryName -NoElement |
    ForEach-Object {
        [pscustomobject]@{
            Path      = $_.Name
            FileCount = $_.Count
        }
    } | Export-Csv $outputPath -NoTypeInformation

相关问题