使用windows命令提示符显示文件夹中所有文件的前两行



我是windows cmd(不是powershell)的新手,如何简单地打印出文件夹中每个文件(其中也有一些大文件)的前2-3行?我发现到目前为止,但它只显示一个文件的前两行,我不能让它在文件夹中的所有文件工作。

for %x in (*.csv) do (more %x 2)

我最终通过设置PATH=%PATH%;C:myfolderPATH中添加了此解决方案https://stackoverflow.com/a/130298/12473440作为head.bat,并且它工作完美!

for /f循环仍然处理整个文件。实际上,对于真正大的文件,只读取第一行<n>行要快得多(对于50MB的文本文件,大约是10倍)。对于小文件,差异可以忽略不计。

@echo off
setlocal EnableDelayedExpansion
set "file=s:AutoItDMKdmk.log"
set firstn=2
<"%file%" (for /l %%n in (1,1,%firstn%) do (
set "line="
set /p line=
echo(!line!
))