0

我正在尝试编写一个 Windows 批处理脚本,它将一直搜索到

例子:

example1
example2
example3
example4
    <jar href="example.jar" main="true"/>

所以我想( <jar href ) 用另一个文本替换文本的第一部分。我的意思是前 4 行将被另一个文本替换。批处理脚本中是否有任何查找直到和替换方法。

4

2 回答 2

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%
于 2012-05-22T01:15:27.787 回答
0

你可以这样做,但是使用 DOS 编辑 XML 并不是很容易,为了实现它,你首先需要像这样启动你的批处理文件:

@ECHO off
SETLOCAL ENABLEDELAYEDEXPANSION
::
:: script content here
::
PAUSE

然后,您需要了解如何使用 '^' 字符通过延迟扩展来转义 '<' 和 '>' 字符。

我建议您也查看名为DosTips的网站。

最后,我编写了一个编辑属性文件的脚本,这是一个您可以从中汲取一些想法的示例。

最后,如果您正在编辑的是纯 XML,您可能会在 dos 脚本中使用XML Starlet取得一些成功。

于 2012-05-21T18:17:40.000 回答