如何在CMD中显示文本文件内容?


Answers:


321

您可以使用该more命令。例如:

more filename.txt

看一下Win32的GNU实用程序下载它


这和tail -f有什么相似之处?tail -f永远循环。您如何复制它的-f?
Elie Saad

2
这没有回答问题。不知道为什么它的评级如此之高。OP正在寻找2件事-Windows替代cat以及Windows替代tail -f。如果要为Windows安装GNU实用程序,则可以使用这些东西。
gburton


23

我认为没有内置功能

xxxx.txt > con

这会在Windows的默认文本编辑器中打开文件...

type xxxx.txt

这将在当前窗口中显示文件。也许有一些参数可以使用...

这里有一个类似的问题:CMD.EXE批处理脚本显示txt文件中的最后10行, 所以有一个“更多”命令可以显示给定行中的文件,或者您可以使用Win32的GNU实用工具,bryanph建议使用什么在他的链接中。


7

您可以使用“更多”命令来查看文件的内容:

more filename.txt

2
欢迎使用StackOverflow,并感谢您的帮助。请说明Windows的more版本如何用于自动查看文本文件中新到达的行。这将使您的答案与OP问题更加直接相关,即证明OP希望具有“ tail -f”兼容性。
Yunnosch

4

使用单个PowerShell命令来检索文件结尾:

powershell -nologo "& "Get-Content -Wait c:\logFile.log -Tail 10"

它适用于PowerShell 3.0及更高版本。

另一个选择是使用以下代码创建一个名为TAIL.CMD的文件:

powershell -nologo "& "Get-Content -Wait %1 -Tail %2"

它可以工作,但是速度太慢,因为PowerShell可能需要2到3秒钟才能启动。
Anic17

2

为此,您可以使用Microsoft的更高级的命令行外壳程序“ Windows PowerShell”。它应该是Windows最新版本的标准配置,但是如果尚未安装,则可以从Microsoft下载

要获取文本文件中的最后五行,只需使用读取文件Get-Content,然后Select-Object为您挑选出最后五行/行:

Get-Content c:\scripts\test.txt | Select-Object -last 5

来源:使用Get-Content Cmdlet


@Eyal的答案更适合从cmd调用,并且使用Tail的代码比通过管道插入Select-Object更好。您也无法同时执行“选择对象”。这不是OP所要求的。
Elie Saad



1

如果您希望它实时显示文件的内容,并在更改文件时进行更新,请使用以下脚本:

@echo off
:start
cls
type myfile.txt
goto start

这将永远重复直到您关闭cmd窗口。


这不会复制tail的功能。
Preet Sangha

1

您可以通过以下方法做到这一点:

一个是type命令:type filename 另一种是more命令:more filename 有了more你也可以这样做:type filename | more

最后一个选项是使用“ for for /f "usebackq delims=" %%A in (filename) do (echo.%%A) 这将用于每一行并显示其内容”。这等效于type命令,但这是读取内容的另一种方法。

如果您询问要使用什么,请使用该more命令,因为它将暂停。


0

例如,如果要将所有.config(或.ini)文件名和文件内容显示在一个文档中,以供用户参考(这意味着用户不知道shell命令(即其中的95%)),则可以尝试以下操作:

FORFILES / M * myFile.ini / C“ cmd / c echo文件名:@file >>%temp%\ stdout.txt &&键入@path >>%temp%\ stdout.txt && echo。>>%temp%\ stdout.txt” | 键入%temp%\ stdout.txt

说明:-ForFiles:在目录(和子目录等)上循环每个符合条件的文件-能够返回正在处理的当前文件名(@file)-能够返回正在处理的完整路径文件(@path)-类型:输出文件内容

ps:最后一个管道命令指向%temp%文件并输出汇总内容。如果要复制/粘贴某些文档,只需在文本键盘中打开stdout.txt文件即可。

美好的一天。


请使用阻止代码```粘贴您的代码,因为这样更易于阅读。
Anic17

-1
tail -3 d:\text_file.txt

tail -1 d:\text_file.txt

我认为这是在某个时候添加到Windows cmd.exe的。


2
不,tail仍然不是标准的Windows命令。通常,它是cygwin,GNU或其他插件的一部分。
斯蒂芬

这不是一个好答案,您只是说这已在Windows中实现,但没有,请在回答之前检查您的信息。
Anic17
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.