1

我有一个多行文件(大约 300 - 400 行),每行有 72 个字符,我需要将其转换为单行。

有任何想法吗 ?

4

3 回答 3

2

这是可能的,假设您希望将连接的行放在文本文件的一行中。但是,即使您可以使用批处理创建长行,您也无法使用批处理读取该行。正如 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 "
)
于 2012-11-22T18:43:10.603 回答
2

如果您想坚持使用标准 Windows 工具,PowerShell 也是一种选择:

-join (Get-Content foo.txt)
于 2012-11-22T18:49:38.300 回答
0

你不能打破操作系统的限制,你不能打破 Windows 中的 255 个字符路径,你不能打破 CMD 解释器的长度限制,就这么简单!

抱歉,您不能将该行存储到 var 中,没办法,不存在任何魔法,计算机是合乎逻辑的。

但这不是世界末日,您可以在任何其他语言中轻松做到这一点,我推荐您使用 Ruby 或 python(为此使用 Ruby),这是一项简单的工作,打开一个文件,将内容存储到一个 var 中,然后做你想做的事,不需要任何经验,如果你需要一个例子,只需评论这个。

于 2012-11-22T16:24:15.797 回答