![使用批处理脚本在 XML 文件中添加“#”](https://linux22.com/image/1588533/%E4%BD%BF%E7%94%A8%E6%89%B9%E5%A4%84%E7%90%86%E8%84%9A%E6%9C%AC%E5%9C%A8%20XML%20%E6%96%87%E4%BB%B6%E4%B8%AD%E6%B7%BB%E5%8A%A0%E2%80%9C%23%E2%80%9D.png)
答案1
要获取文件,请在第二行的开头config.xml
添加,并将结果保存为,创建并运行以下批处理文件:#
config2.xml
@echo off
setlocal enabledelayedexpansion
set line=1
(
for /f "delims=" %%A in (config.xml) do (
if !line!==2 (
echo #%%A
) else (
echo %%A
)
set /a line=line+1
)
) > config2.xml
setlocal enabledelayedexpansion
在循环等复合命令中使用变量是必要的。set line=1
创建一个名为“ ”的变量line
,用于计算行数。for /f "delims=" %%A in (config.xml) do
config.xml
每次 读取一行并将其内容赋给变量%%A
。"delims="
表示没有单词分隔符。通常for /f
将行分成单词。此选项表示应将每一整行视为单个“单词”。- 接下来的五行代码会按
%%A
原样从文件 (in) 中写出该行,除非这是文件的第二行,在这种情况下,我们会写入一个,#
然后接着写入文件中的原始行。 set /a line=line+1
将行计数器加一。
如果您想要原始文件中的结果,请添加
move /y config2.xml config.xml
在批处理文件的末尾(或者在验证config2.xml
包含所需内容后,自己手动执行)。
答案2
您提供的信息很少,所以我将在这里做出一些假设。
我假设您只是想在文件的最末尾放置一个#。
在 .bat 或 .cmd 文件中,您可以通过在代码中添加以下行来完成:
echo # >> filename.xml