batch-file - Windows 更多命令要求用户输入
问题描述
我有一个带有更多命令的批处理文件,可以跳过文件的前几行并打印其余部分。我正在使用more +6 file_name
. 我看到它打开了文件的某个百分比并要求用户输入提示,以便它可以加载下一部分。我尝试使用操作将更多命令的输出重定向>
到另一个文件,但仍然遇到同样的问题。
When MORE is used without any redirection symbols it will display the percent complete e.g.
MORE /E myfile.txt
--More (17%) --
谢谢,帕万。
解决方案
即使您将其输出重定向到文件,只要遇到 64K 行,该more
命令也会提示用户输入。此外,more
扩展TABs为SPACEs。
一种解决方法是使用for /F
循环跳过前 6 行:
> "outfile.txt" (
for /F "usebackq skip=6 delims=" %%L in ("infile.txt") do @(
echo(%%L
)
)
然而,这将行长度限制为 8K 字符/字节。此外,这会跳过空行。
要保留空行,您可以这样做:
> "outfile.txt" (
for /F "skip=6 delims=" %%L in ('findstr /N "^" "infile.txt"') do @(
set "LINE=%%L"
setlocal EnableDelayedExpansion
echo(!LINE:*:=!
endlocal
)
)
这在每行之前都有一个行号和一个冒号findstr
,因此断断续续地使用,因此没有行显示为空for /F
;然后在写出行时删除前缀。行长度仍然有限。
推荐阅读
- java - 当初始偏移量在现有记录之前增加时,Kafka 压缩主题中的日志数据会发生什么?
- angular - 编辑页面绑定上的角度 7 验证
- python - Pandas,用 MultiIndex DataFrame 中的值替换 NaN
- sql - 更新 SQL 中的主键列名
- apache-kafka - kafka + kafka broker 不是主题分区的领导者可能是什么原因
- ios - 如何使用 StoryBoard 将 UIButton 添加为 UIBarButtonItem?
- reactjs - 如何为除一个以外的所有路径渲染元素
- mysql - MySQL 两列表作为主键
- perl - 在 perl 中创建映射哈希
- php - PHP - 在一个对象中分组相似的键