File 每五个字符串都会批量暂停

File 每五个字符串都会批量暂停,file,batch-file,File,Batch File,我的问题是,我做了一个显示目录中所有文件的东西,但因为它太长太多行,我决定让我们举个例子,每五行它就会暂停一次 代码的较小版本为: 对于(*)中的/r%%a,执行回显%%a 所以我想你有个主意了吧?为什么不使用专门为此设计的more命令呢。它是一个屏幕而不是5(除非您使用p5命令) C:\Users\User>more/? 一次显示一个屏幕的输出。 更多[/E[/C][/P][/S][/Tn][+n]

我的问题是,我做了一个显示目录中所有文件的东西,但因为它太长太多行,我决定让我们举个例子,每五行它就会暂停一次

代码的较小版本为:

对于(*)中的/r%%a,执行回显%%a

所以我想你有个主意了吧?

为什么不使用专门为此设计的more命令呢。它是一个屏幕而不是5(除非您使用
p5
命令)

C:\Users\User>more/?
一次显示一个屏幕的输出。
更多[/E[/C][/P][/S][/Tn][+n]<[drive:[path]文件名
命令名更多
更多/E[/C][/P][/S][/Tn][+n][files]
[drive:][path]filename指定要显示的文件
一次一个屏幕。
命令名指定其输出的命令
将显示。
/E启用扩展功能
/C在显示页面之前清除屏幕
/P扩展FormFeed字符
/S将多个空行压缩为一行
/Tn将选项卡扩展到n个空间(默认为8个)
交换机可以出现在更多的环境中
变量
+n开始在第n行显示第一个文件
要显示的文件列表。列表中的文件
用空格隔开。
如果启用了扩展功能,请执行以下命令
在--More--提示符下接受:
P n显示下n行
S n跳过下n行
F显示下一个文件
Q退出
=显示行号
?       显示帮助热线
显示下一页
显示下一行

在for循环中使用
设置/a
和!瓦尔!键入变量(阅读set的所有帮助)。请参阅
中的帮助获取/?
setlocal/?

如@laoke所说的
更多
或:

编辑:

@echo off
setlocal enabledelayedexpansion
set /a $C=1
for /r %%a in (*) do (
  IF !$C!==5 (
     echo.
     pause >nul
     set /a $C=1)
  echo %%a
  set /a $C+=1)

也许有更简单的方法?就像我的意思,因为滚动条实际上是在cmd中显示的,但是当我使用模式/大小调整窗口时,它隐藏了滚动条,原因很奇怪。那么,是否有命令强制显示该内容?在命令属性(右键单击标题栏)中,设置屏幕大小和缓冲区大小。缓冲区的大小必须大于屏幕的大小才能有滚动条。嗯,有没有办法让它在每次搜索后跳过一行,等等。但是谢谢你这么做了
@echo off
setlocal enabledelayedexpansion
set /a $C=1
for /r %%a in (*) do (
  IF !$C!==5 (
     echo.
     pause >nul
     set /a $C=1)
  echo %%a
  set /a $C+=1)