【发布时间】:2013-07-05 17:47:17
【问题描述】:
基本上我正在尝试编写一个批处理文件来将一些代码插入多个文件中。以下是我要完成的工作的详细信息:
1.输入字符串来自一个文件test.txt。
2. 需要将字符串作为目标文件的第二行插入。
3.目标文件是与批处理文件同向的所有.xml文件。
我想我应该使用 FOR 循环来遍历所有 .xml 文件。像
for /f %%i in ('dir /b *.xml') do ()
我已经阅读了一些教程和帖子,但找不到在循环中向文件添加任何内容的方法。使用 Echo 或 TYPE 似乎不适用于循环中的每个文件。如何循环修改文件?
还要插入一定数量的行,一些帖子说需要将文件放入变量中。但是我的文件非常大,我不想放入变量中。是否有另一种方法可以插入文件中的某一行?
【问题讨论】:
-
The string needs to be added to the second line of destination files.什么意思?连接,或插入之后还是什么?要添加的文件是单行文件吗?每行是否超过〜8K?您对 TPP 解决方案持开放态度吗? -
@PeterWright 在这里我想要插入,但实际上任何可以写入第二行的方法都足够好。我编辑了我的帖子以使其更清晰。
-
您要修改 XML 文件吗?
-
@AnsgarWiechers 是的,我愿意。文件是什么格式有关系吗?
-
是的。 XML 的结构元素可以从一行中的任何位置开始和/或可以跨越多行。您可以通过在错误的位置插入内容来破坏格式。使用实际上具有 XML 解析功能的语言会好得多。 VBScript 和 PowerShell 随操作系统一起提供。 Perl 或 Python 将是其他不错的选择。
标签: windows for-loop batch-file cmd