Windows批处理:从未格式化的xml中读取很长的一行

Windows批处理:从未格式化的xml中读取很长的一行,xml,windows,batch-file,cmd,Xml,Windows,Batch File,Cmd,如何使用批处理文件读取很长一行未格式化的xml?我正在尝试在每个“>”之后插入换行符 问题是,批处理文件在找到“>”后会跳到下一行 由于这种行为,只显示xml文件的第一个标记(只有一行,第二行不存在) 这是我使用的命令: FOR /F "delims=>" %%i IN (test.xml) DO @echo %%i 以下是我的xml文件的外观示例: <simpleType name="parseType"><restriction base="xs:token">

如何使用批处理文件读取很长一行未格式化的xml?我正在尝试在每个“>”之后插入换行符

问题是,批处理文件在找到“>”后会跳到下一行

由于这种行为,只显示xml文件的第一个标记(只有一行,第二行不存在)

这是我使用的命令:

FOR /F "delims=>" %%i IN (test.xml) DO @echo %%i
以下是我的xml文件的外观示例:

<simpleType name="parseType"><restriction base="xs:token"><enumeration value="xml"/<enumeration value="text"/></restriction></simpleType>

对不起,你到底想要什么

如果您想将文件加载到控制台中,可以使用“MORE”命令而不是“FOR”

如果您想逐行加载XML—编写简单的控制台应用程序非常容易,只需执行以下操作:

Console.WriteLine(XElement.Load(args[0]));
因此,它将被有效格式化

你可以在“蝙蝠”中使用它


如果您想“逐行”阅读XML,但不需要任何断行符,这是一个奇怪的想法,但您仍然可以下载Unix UTIL for Windows并使用grep等,但这将使您的大脑崩溃,仅此而已。

这是一种强大的方法,可以处理很长的行:

type "file.txt" | repl ">" ">\r\n" XL >"newfile.txt"
这使用了一个名为
repl.bat
(由dbenham提供)的助手批处理文件-下载自:


repl.bat
放在与批处理文件相同的文件夹中,或者放在路径上的文件夹中。

对不起,您到底想要什么?如果您想将文件加载到控制台,您可以使用“MORE”命令而不是“FOR”,如果您想逐行加载XML—编写简单的控制台应用程序非常容易,因为doMy XML文件只有一行。这是因为缺少换行符。我想用一个批处理文件格式化它,但是这行太长了,无法完整地阅读。我想知道你的答案,但是没有其他方法不使用帮助文件吗?这取决于你的行的长度。普通批处理有一些限制,不像上面的帮助程序批处理文件那样健壮或简单。大约50000个字符。普通批处理限制为一行中的
8191
个字符
repl.bat
使用本机Windows脚本,可以很好地处理文件。
Console.WriteLine(XElement.Load(args[0]));
type "file.txt" | repl ">" ">\r\n" XL >"newfile.txt"