DOS/BAT

关注公众号 jb51net

关闭
首页 > 脚本专栏 > DOS/BAT > 批处理命令教学之more命令

批处理命令教学之more命令

投稿:hebedich

这篇文章主要介绍了批处理命令中的more命令,十分的详细,包含了more的参数的使用,推荐给小伙伴,有需要的朋友可以参考下。

帮助信息:
逐屏显示输出。

复制代码 代码如下:

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]
    [drive:][path]filename  指定要逐屏显示的文件。
    command-name            指定要显示其输出的命令。
    /E      启用扩展功能
    /C      显示页面前先清除屏幕
    /P      扩展 FormFeed 字符
    /S      将多个空白行缩成一行
    /Tn     将制表符扩展为 n 个空格(默认值为 8)
            开关可以出现在 MORE 环境变量中。
    +n      从第 n 行开始显示第一个文件
    files   要显示的文件列表。使用空格分隔列表中的文件。
            如果已启用扩展功能,则在 -- More -- 提示处 接受下列命令:
    P n 显示下 n 行
    S n 跳过下 n 行
    F 显示下个文件
    Q 退出
    = 显示行号
    ? 显示帮助行
    <space> 显示下一页
    <ret> 显示下一行

命令概括:

more,意为“更多”,这里可以引申为“除这些外还有……”
/e,enable Expansion,意为“允许扩展“。
/c,clear,意为”清除“。
/p,expand,意为”扩展“。
/s,squeeze,意为”挤;压榨“。”挤“字已经非常形象的说明了这个参数的用途。
/t,tabs,意为”制表符“。

参数详解:

more命令就是一次显示一屏幕的内容(这里的一屏幕是指cmd窗口的屏幕,不是显示器)。

1.将指定命令的输出,逐屏显示

最常用到情况的是显示ip地址信息的时候。
例如:

复制代码 代码如下:

C:\Users\helloworld\Desktop>ipconfig /all |more

结果:

复制代码 代码如下:

Windows IP 配置
   主机名  . . . . . . . . . . . . . : helloworld-PC
   主 DNS 后缀 . . . . . . . . . . . :
   节点类型  . . . . . . . . . . . . : 混合
   IP 路由已启用 . . . . . . . . . . : 否
   WINS 代理已启用 . . . . . . . . . : 否
PPP 适配器 宽带连接:
   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : 宽带连接
   物理地址. . . . . . . . . . . . . :
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
   IPv4 地址 . . . . . . . . . . . . : 110.206.18.142(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.255
   默认网关. . . . . . . . . . . . . : 0.0.0.0
   DNS 服务器  . . . . . . . . . . . : 61.234.254.6
                                       211.98.2.4
   TCPIP 上的 NetBIOS  . . . . . . . : 已禁用
以太网适配器 本地连接:
-- More  --

2.逐屏显示指定文本的内容

1.txt中的内容:
逐屏显示输出。

复制代码 代码如下:

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]
    [drive:][path]filename  指定要逐屏显示的文件。
    command-name            指定要显示其输出的命令。
    /E      启用扩展功能
    /C      显示页面前先清除屏幕
    /P      扩展 FormFeed 字符
    /S      将多个空白行缩成一行
    /Tn     将制表符扩展为 n 个空格(默认值为 8)
            开关可以出现在 MORE 环境变量中。
    +n      从第 n 行开始显示第一个文件
    files   要显示的文件列表。使用空格分隔列表中的文件。
            如果已启用扩展功能,则在 -- More -- 提示处 接受下列命令:
    P n 显示下 n 行
    S n 跳过下 n 行
    F 显示下个文件
    Q 退出
    = 显示行号
    ? 显示帮助行
    <space> 显示下一页
    <ret> 显示下一行

这有两种写法。

①.直接显示。
代码:

复制代码 代码如下:

C:\Users\HELLOW~1\Desktop>more 1.txt

效果:
逐屏显示输出。

复制代码 代码如下:

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]
    [drive:][path]filename  指定要逐屏显示的文件。
    command-name            指定要显示其输出的命令。
    /E      启用扩展功能
    /C      显示页面前先清除屏幕
    /P      扩展 FormFeed 字符
    /S      将多个空白行缩成一行
    /Tn     将制表符扩展为 n 个空格(默认值为 8)
            开关可以出现在 MORE 环境变量中。
    +n      从第 n 行开始显示第一个文件
    files   要显示的文件列表。使用空格分隔列表中的文件。
            如果已启用扩展功能,则在 -- More -- 提示处 接受下列命令:
    P n 显示下 n 行
    S n 跳过下 n 行
    F 显示下个文件
-- More (88%) --

②.用重定向符显示。
代码:

复制代码 代码如下:

C:\Users\HELLOW~1\Desktop>more<1.txt

结果:
逐屏显示输出。

复制代码 代码如下:

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]
    [drive:][path]filename  指定要逐屏显示的文件。
    command-name            指定要显示其输出的命令。
    /E      启用扩展功能
    /C      显示页面前先清除屏幕
    /P      扩展 FormFeed 字符
    /S      将多个空白行缩成一行
    /Tn     将制表符扩展为 n 个空格(默认值为 8)
            开关可以出现在 MORE 环境变量中。
    +n      从第 n 行开始显示第一个文件
    files   要显示的文件列表。使用空格分隔列表中的文件。
            如果已启用扩展功能,则在 -- More -- 提示处 接受下列命令:
    P n 显示下 n 行
    S n 跳过下 n 行
    F 显示下个文件
-- More  --

这两种显示文本的方法,除了写法不同,就目测来说,“直接显示”会显示文本已显示的百分比(-- More (88%) --),而“重定向显示”不会显示出百分比(-- More  --)。

3.显示前先清除屏幕

代码:

复制代码 代码如下:

more /c 1.txt

等效代码:

复制代码 代码如下:

cls
more 1.txt

没错,/c参数就相当于在more命令的前面加了一条cls命令(在提示符状态下,其实也不完全是在前加一条cls,因为/c参数还会清除more命令本身的回显)。

4.将连续的空白行缩成一行

代码:

复制代码 代码如下:

more /s 1.txt

关键词:“连续的”
这个参数不是消除空白行,而是将连续的多行空白,缩成一行空白。——这中间的差别一定要弄清,不然很容易就用错命令。

5.将制表符变为指定个数的空格符

代码:

复制代码 代码如下:

more /t1 1.txt

制表符就是tab键按下后产生的符号。

如果不加/t参数就会直接显示制表符的样式,加上/t并指定空格数,就会显示指定个空格。

这个参数并不常用。

6.跳过指定行

跳过头两行。

代码:

复制代码 代码如下:

more +2 1.txt

效果:

复制代码 代码如下:

MORE    [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

    [drive:][path]filename  指定要逐屏显示的文件。

    command-name            指定要显示其输出的命令。

    /E      启用扩展功能
    /C      显示页面前先清除屏幕
    /P      扩展 FormFeed 字符
    /S      将多个空白行缩成一行
    /Tn     将制表符扩展为 n 个空格(默认值为 8)

            开关可以出现在 MORE 环境变量中。
    +n      从第 n 行开始显示第一个文件

    files   要显示的文件列表。使用空格分隔列表中的文件。
            如果已启用扩展功能,则在 -- More -- 提示处 接受下列命令:
    P n 显示下 n 行
    S n 跳过下 n 行
    F 显示下个文件
    Q 退出
    = 显示行号
-- More (92%) --

跳过的行:
逐屏显示输出。
空行。

空行也算是一行。

7.“跳过指定行”(+n)的优先级高于/s参数。

我们知道/s 是将连续的空白行缩成一行,那么假如一个文本头中有5行(有4行为空行),而我同时用到+2(跳过头两行)和/s参数会怎样呢?

1.txt
逐屏显示输出。

复制代码 代码如下:

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

代码:

复制代码 代码如下:

more /s +2 1.txt

效果:

复制代码 代码如下:

[color=Red]空行。[/color]
MORE    [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

显示了1行空行,说明+2先于/s参数运行,因为如果/s参数先运行再跳过2行,那么结果就不会有空行。

8.逐屏显示多个文件

1.txt

复制代码 代码如下:

hello

2.txt

复制代码 代码如下:

world

代码:

复制代码 代码如下:

more 1.txt 2.txt

效果:

复制代码 代码如下:

hello
world

9.在显示未完成时(完成度百分比小于100%)的操作命令—— 一般用于命令提示符中

复制代码 代码如下:

 P n 显示下 n 行(先输入p,然后输入0-9的数字)
    S n 跳过下 n 行(同p,但不是显示而是跳过)
    F 显示下个文件(用于more命令显示多个文件的情况)
    Q 退出
    = 显示当前显示最后一行的行号
    ? 显示帮助
 空格键  显示下一页
回车键  显示下一行

以上所述就是本文的全部内容了,希望大家能够喜欢。

您可能感兴趣的文章:
阅读全文