我有一个多行文件(大约 300 - 400 行),每行有 72 个字符,我需要将其转换为单行。
有任何想法吗 ?
这是可能的,假设您希望将连接的行放在文本文件的一行中。但是,即使您可以使用批处理创建长行,您也无法使用批处理读取该行。正如 Electro Hacker 所说,您不能创建长度超过 8191 字节的批处理环境变量。
XPSET /P
将保留每行的前导空格。但SET /P
在 Vista 及以后的情况下,会出现领先的空格。
此解决方案在每个连接的行之间添加一个空格。
@echo off
setlocal
set "infile=test.txt"
set "outfile=out.txt"
>"%outfile%" (
for /f usebackq^ delims^=^ eol^= %%A in ("%infile%") do <nul set /p "=%%A "
)
如果您想坚持使用标准 Windows 工具,PowerShell 也是一种选择:
-join (Get-Content foo.txt)
你不能打破操作系统的限制,你不能打破 Windows 中的 255 个字符路径,你不能打破 CMD 解释器的长度限制,就这么简单!
抱歉,您不能将该行存储到 var 中,没办法,不存在任何魔法,计算机是合乎逻辑的。
但这不是世界末日,您可以在任何其他语言中轻松做到这一点,我推荐您使用 Ruby 或 python(为此使用 Ruby),这是一项简单的工作,打开一个文件,将内容存储到一个 var 中,然后做你想做的事,不需要任何经验,如果你需要一个例子,只需评论这个。