我正在尝试编写一个Windows批处理脚本,它将一直搜索到
示例:
example1
example2
example3
example4
<jar href="example.jar" main="true"/>
所以我想用另一个文本替换文本( <jar href )
之前的第一部分。
我的意思是第一个前4行将替换为另一个文本。
在批处理脚本中是否有任何查找和替换方法。
答案 0 :(得分:3)
您的特定方案很容易批量实施。我假设您要保留包含<jar href
您没有说明替换文字的来源。我假设它来自另一个文件。
@echo off
set file1="test.txt"
set file2="replacement.txt"
set output="new.txt"
for /f "delims=:" %%N in ('findstr /n /c:"<jar href" %file1%') do (
set /a skip=%%N-1
goto :break
)
:break
(
type %file2%
more +%skip% %file1%
)>%output%
答案 1 :(得分:0)
你可以这样做但是编辑XML并不是很容易使用DOS,为了实现它,你首先需要像这样开始你的批处理文件:
@ECHO off
SETLOCAL ENABLEDELAYEDEXPANSION
::
:: script content here
::
PAUSE
然后,你需要了解如何逃脱'&lt;'和'&gt;'使用'^'字符延迟扩展的字符。
我建议您也查看名为DosTips的网站。
最后,编辑属性文件的I wrote a script,这是一个您可以从中提取一些想法的示例。
最后,如果您正在编辑的内容是纯XML,那么在dos脚本中使用XML Starlet可能会取得一些成功。