我想在CMD窗口中显示文本文件的内容。此外,我想看到添加到文件的新行,如Unix中的tail -f命令。
我不认为有一个内置的函数
xxxx.txt > con
这将在windows默认文本编辑器中打开文件…
type xxxx.txt
这将在当前窗口中显示文件。也许你可以使用这个参数。
这里有一个类似的问题:CMD.EXE批处理脚本显示txt文件的最后10行 因此,这里有一个“more”命令来显示给定行的文件,或者你可以使用bryanph在他的链接中建议的Win32 GNU实用程序。
使用单个PowerShell命令检索文件结尾:
powershell -nologo "& "Get-Content -Wait c:\logFile.log -Tail 10"
适用于PowerShell 3.0及更新版本。
另一种选择是创建一个名为TAIL的文件。CMD:
powershell -nologo "& "Get-Content -Wait %1 -Tail %2"
为此,您可以使用微软更高级的命令行shell,称为“Windows PowerShell”。它应该是最新版本Windows的标配,但如果你还没有安装它,可以从微软下载。
要获得文本文件中的最后五行,只需使用get - content读取文件,然后让Select-Object为您挑选出最后五项/行:
Get-Content c:\scripts\test.txt | Select-Object -last 5
来源:使用Get-Content Cmdlet
如果你想让它实时显示文件的内容,并在文件被修改时更新,只需使用这个脚本:
@echo off
:start
cls
type myfile.txt
goto start
这将永远重复,直到您关闭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:循环一个目录(和子文件等),每个文件满足条件 能够返回当前文件名为process (@file) 能够返回process (@path)的完整路径文件 Type:输出文件内容
Ps:最后一个管道命令指向%temp%文件并输出聚合内容。如果您希望复制/粘贴某些文档,只需在textpad中打开stdout.txt文件。
你可以用一些方法来做到这一点:
一个是type命令:type filename 另一个是more命令:more filename 使用more,你也可以这样做:键入文件名| more
最后一个选项是使用for for /f "usebackq delims=" %%A in (filename) do (echo.%%A) 这将用于每行并显示其内容。这相当于type命令,但它是读取内容的另一种方法。
如果你在问要用什么,使用more命令,因为它会造成停顿。
推荐文章
- 如何在命令提示符中使用空格?
- 批处理文件:查找子字符串是否在字符串中(不是在文件中)
- 如何从批处理文件创建空文本文件?
- cmd /C是什么意思?
- Windows批处理:无新行回显
- 在批处理文件中测试参数是否为空的正确方法是什么?
- 如何用批处理脚本对目录中的每个文件做一些事情
- 在windows的命令行上创建一个空文件(如linux的touch命令)
- DOS批处理中的逻辑操作符("and", "or")
- 通过批处理或cmd文件停止和启动服务?
- 在Windows命令提示符中~(用户的主目录)的替代方法是什么?
- 批处理脚本:如何检查管理权限
- Windows shell命令获取当前目录的全路径?
- VSCode更改默认终端
- Windows中的diff命令是什么?