我想在 CMD 窗口中显示文本文件的内容。此外,我想查看添加到文件中的新行,例如tail -f
Unix 中的命令。
14 回答
我认为没有内置功能
xxxx.txt > con
这将在 Windows 的默认文本编辑器中打开文件...
type xxxx.txt
这将在当前窗口中显示文件。也许这有你可以使用的参数......
这里有一个类似的问题:CMD.EXE 批处理脚本来显示 txt 文件中的最后 10 行 所以有一个“更多”命令来显示给定行中的文件,或者您可以使用 GNU Utilities for Win32 什么 bryanph 建议在他的链接中。
您可以使用“更多”命令查看文件的内容:
more filename.txt
显示文件内容:
type file.txt
- 命令
cat file.txt
- bash/powershell
使用单个 PowerShell 命令检索文件结尾:
powershell -nologo "& "Get-Content -Wait c:\logFile.log -Tail 10"
它适用于 PowerShell 3.0 及更高版本。
另一种选择是使用以下代码创建一个名为 TAIL.CMD 的文件:
powershell -nologo "& "Get-Content -Wait %1 -Tail %2"
你可以通过一些方法做到这一点:
一个是type
命令:type filename
另一个是more
命令:more filename
你more
也可以这样做:type filename | more
最后一个选项是使用 afor
for /f "usebackq delims=" %%A in (filename) do (echo.%%A)
这将适用于每一行并显示其内容。这相当于type
命令,但它是另一种读取内容的方法。
如果您询问要使用什么,请使用该more
命令,因为它会暂停。
为此,您可以使用 Microsoft 更高级的命令行 shell,称为“ Windows PowerShell ”。它应该是最新版本的 Windows 的标准配置,但如果您尚未安装它,您可以从 Microsoft 下载它。
要获取文本文件中的最后五行,只需使用 读取文件Get-Content
,然后Select-Object
为您挑选最后五个项目/行:
Get-Content c:\scripts\test.txt | Select-Object -last 5
如果您希望它实时显示文件的内容,并在文件更改时更新,只需使用以下脚本:
@echo off
:start
cls
type myfile.txt
goto start
这将永远重复,直到您关闭 cmd 窗口。
Windows 没有可用的内置选项。要持续监控日志,您可以使用这个免费的应用程序BareTailPro。
您可以从Windows Server 2003 Resource Kit Tools获取 TAIL 实用程序。
以下是其他详细信息 - Windows 的尾部命令 (CMD)。
例如,如果您想将所有.config
(或.ini
)文件名和文件内容显示到一个文档中以供用户参考(我的意思是用户不知道 shell 命令,即其中 95%),您可以试试这个:
FORFILES /M *myFile.ini /C "cmd /c echo File name : @file >> %temp%\stdout.txt && type @path >> %temp%\stdout.txt && echo. >> %temp%\stdout.txt" | type %temp%\stdout.txt
解释 :
- ForFiles :在目录(和子等)上循环每个满足条件的文件
- 能够返回正在处理的当前文件名(@file)
- 能够返回正在处理的完整路径文件(@path)
- 类型:输出文件内容
Ps:最后一个管道命令是指向%temp%
文件并输出聚合内容。如果您想复制/粘贴某些文档,只需在文本板中打开 stdout.txt 文件。
您可以使用更多文件名。[扩展名]或键入文件名。[扩展名]
tail -3 d:\text_file.txt
tail -1 d:\text_file.txt
我假设这在某个时候被添加到 Windows cmd.exe 中。