77

Is there a command in the Windows DOS prompt that is equivalent to the UNIX less or more?

Basically, the problem is that when I type hg log, the output has too many lines to fit on the screen and I want to paginate it.

Any ideas on how to solve this problem?

8 Answers8

83

Windows has the command more. E.g. (Taken from Wikipedia)

To display the file named letter.txt on the screen, the user can type either of the following two commands:

 more < letter.txt
 type letter.txt | more 

So in your case you want hg log | more.

For heavier usage you will want something like UnxUtils or GnuWin32, which have a more powerful less utility.

. enter image description here

Renan
  • 8,062
9

On Windows 10, you can install the Windows Subsystem for Linux:

The Windows Subsystem for Linux lets developers run Linux environments -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a virtual machine.

Once installed, start bash.exe and run less /mnt/c/temp/test.txt to open the file test.txt located in c:\temp.

Mathias
  • 221
7

If you don't mind installing additional software gow is a nice toolkit with a set of standalone unix style tools that you can use, including less and more - it requires an install since it adds itself to path, but you can copy and use the install directory elsewhere as well.

Journeyman Geek
  • 133,878
4

Up-to-date less build for Windows is here: http://adoxa.altervista.org/less/index.html

johndoe
  • 276
2

Here you can find up-to-date less builds for Windows: https://github.com/jftuga/less-Windows/releases

This are the reccomended Windows builds on the less official download page.

Piz
  • 121
2

I install a ready-to-run less via choco:

choco install less

https://chocolatey.org/packages/Less

It uses the binary generated by the aforementioned less-Windows

juwens
  • 466
1

If you're running a recent version of Windows and have Windows Subsystem for Linux (WSL) installed, you can run Linux's less directly from CMD:

wsl less "my file.txt"

File paths must be expressed in terms of the WSL filesystem:

wsl less "/mnt/c/Users/coejoder/Documents/my file.txt"

Or converted using wslpath in a subshell:

wsl less "$(wslpath "C:\Users\coejoder\Documents\my file.txt")"
Joe Coder
  • 211
0

I used UnxUtils for many years. In most recent installations, I just use the Git for Windows which embeds mingw-based utilities. It installs all same commands than UnxUtils and also includes compression utilities variants like zcat, zless.