【发布时间】:2020-06-15 20:42:14
【问题描述】:
##test.txt##
First line = 1;*|:12345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345123451234512345
Second line = 5;*|:3215432;*|:21543215432154321543215432154321543215432154321543215432154321543215;*|:543215;*|:5432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321543215432154321
SetLocal EnableDelayedexpansion
for /F "tokens=* delims=" %%a in ('type "test.txt"') do (
set "Line=%%a"
echo Line: "!Line!"
)
显然,上面的代码无法读取 test.txt 中的 2 行,因为每行都超过了限制(8191 个字符)。
通过输入
type "test.txt"
它仍然产生了 test.txt 文件中的 2 行。但是,一旦有 2 行进入 for 循环,就无法读取这些行。
我不需要整行,所以我尝试通过删除多余的部分字符串来预处理文本文件。例如,将上例中的行长度限制为 8100。
1.如何在windows环境下不使用记事本(任何GUI编辑器)编辑上述文本文件?
2.如果我不需要对文件进行预处理,有什么技巧可以避免上述问题?
- 即使我不能放胡萝卜(^),它会扩展命令行。我想要的是拆分字符串并获取第一部分很好,但我不想通过记事本或其他 GUI 文件编辑器手动完成。
【问题讨论】:
-
取决于文件内容。它只包含数字/字母还是冒号/空格?
-
@jeb 它还包含冒号和其他特殊字符,例如 (,)、% 等。
-
第一列的大小有限制吗?你需要多少?可以用
|作为分隔符吗? -
@jeb 感谢您的关注。不,我不能使用 |作为分隔符,因为该行将由第一个“=”等号分隔。如果您的意思是,第一行和第二行部分作为第一列.. 它不是固定的和有限的。
标签: string windows batch-file cmd