batch-file – Batch:读取一个txt文件,并以逗号分隔的行输出最后10行

我有一个简单的批处理文件,它从批处理文件读取最后10行,然后输出这10行新的txt文件,但我需要它输出为逗号分隔的行/字符串.

@echo off
for /f %%i in ('find /v /c "" ^< C:\Path To File\File.txt') do set /a lines=%%i
set /a startLine=%lines% - 10
more /e +%startLine% C:\Path To File\File.txt > Output.txt

此外,是否可以反转新txt文件中的行顺序,以便最后一行位于逗号分隔行的开头

我所追求的例子:

line1
line2
line3
line4

输出为

line4, line3, line2, line1

最佳答案 这个小的PowerShell脚本将做:

$Lines = Get-Content .\Lines.txt|select -last 10
($Lines[($Lines.Length-1)..0]) -join(', ')|Set-Content Lines-new.txt

要批量处理主题:

@echo off
Powershell -command "($Lines=GC .\Lines.txt|select -last 10);(($Lines[($Lines.Length-1)..0]) -join(' ')|Set-Content Lines-New.txt)"
点赞