How do I display a text file content in CMD?
Andrew Henderson
I want to display the content of a text file in a CMD window. In addition, I want to see the new lines that added to file, like tail -f command in Unix.
14 Answers
You can use the more command. For example:
more filename.txtTake a look at GNU utilities for Win32 or download it:
2We can use the 'type' command to see file contents in cmd.
Example -
type abc.txtMore information can be found HERE.
1I don't think there is a built-in function for that
xxxx.txt > conThis opens the files in the default text editor in windows...
type xxxx.txtThis displays the file in the current window. Maybe this has params you can use...
There is a similar question here: CMD.EXE batch script to display last 10 lines from a txt fileSo there is a "more" command to display a file from the given line, or you can use the GNU Utilities for Win32 what bryanph suggested in his link.
0To show content of a file:
type file.txt - cmd
cat file.txt - bash/powershell
You can use the 'more' command to see the content of the file:
more filename.txt 1 Using a single PowerShell command to retrieve the file ending:
powershell -nologo "& "Get-Content -Wait c:\logFile.log -Tail 10"It applies to PowerShell 3.0 and newer.
Another option is to create a file called TAIL.CMD with this code:
powershell -nologo "& "Get-Content -Wait %1 -Tail %2" 1 You can do that in some methods:
One is the type command: type filenameAnother is the more command: more filenameWith more you can also do that: type filename | more
The last option is using a forfor /f "usebackq delims=" %%A in (filename) do (echo.%%A)This will go for each line and display it's content. This is an equivalent of the type command, but it's another method of reading the content.
If you are asking what to use, use the more command as it will make a pause.
To do this, you can use Microsoft's more advanced command-line shell called "Windows PowerShell." It should come standard on the latest versions of Windows, but you can download it from Microsoft if you don't already have it installed.
To get the last five lines in the text file simply read the file using Get-Content, then have Select-Object pick out the last five items/lines for you:
Get-Content c:\scripts\test.txt | Select-Object -last 5Source: Using the Get-Content Cmdlet
1If you want it to display the content of the file live, and update when the file is altered, just use this script:
@echo off
:start
cls
type myfile.txt
goto startThat will repeat forever until you close the cmd window.
1There is no built in option available with Windows. To constantly monitor logs you can use this free application BareTailPro.
You can get the TAIL utility from the Windows Server 2003 Resource Kit Tools.
Here are additional details -- Tail command for Windows (CMD).
1If you want to display for example all .config (or .ini) file name and file content into one doc for user reference (and by this I mean user not knowing shell command i.e. 95% of them), you can try this :
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.txtExplanation :
- ForFiles : loop on a directory (and child, etc) each file meeting criteria
- able to return the current file name being process (@file)
- able to return the full path file being process (@path)
- Type : Output the file content
Ps : The last pipe command is pointing the %temp% file and output the aggregate content. If you wish to copy/paste in some documentation, just open the stdout.txt file in textpad.
You can use either more filename.[extension] or type filename.[extension]
tail -3 d:\text_file.txt
tail -1 d:\text_file.txtI assume this was added to Windows cmd.exe at some point.
2