我有一个多行文件(约300 - 400行),每行有72个字符,我需要将其转换为一行。
有什么想法吗?
答案 0 :(得分:2)
这是可能的,假设您希望在文本文件中的一行中连接行。但是,即使您可以使用批处理创建长行,也无法使用批处理来读取该行。正如Electro Hacker所说,你不能创建长度超过8191字节的批处理环境变量。
XP SET /P
将保留每行的前导空格。但是Vista及其他地方SET /P
剥离了前导空格。
此解决方案在每个连接行之间添加一个空格。
@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 "
)
答案 1 :(得分:2)
如果您想坚持使用标准的Windows工具,PowerShell也是一个选择:
-join (Get-Content foo.txt)
答案 2 :(得分:0)
你不能打破操作系统的限制,你不能破坏Windows中的255个字符路径,你不能破坏CMD解释器长度限制,就像那样!
很抱歉,你无法将该行存储到var中,没有办法,不存在任何魔法,计算机是合乎逻辑的。
但它不是世界末日,你可以在任何其他语言中轻松实现,我推荐你使用Ruby或python(Ruby),这是一件容易的事,打开文件,将内容存储到var中,然后做你想做的事,不需要任何经验,如果你需要一个例子只是评论这个。