使用批处理查找并向文本文件添加字符串

时间:2014-08-07 15:21:25

标签: batch-file search replace

我如何搜索“description =” 如果存在则不执行任何操作,但如果不存在则使用批处理脚本添加下版本行。

package.xml中

<?xml version="1.0" encoding="utf-8"?>
<PackageManifest>
  <Package name="audio"
           version="1.37.0"
           description="something.  . .."
           comment="">
   </Package>
</PackageManifest>

1 个答案:

答案 0 :(得分:1)

@ECHO OFF
SETLOCAL
DEL newfile.txt 2>nul
SET "description=replacement text"
SET "inserted="
SET "version="
FINDSTR /L /c:"description=" q25186276.txt >NUL
IF ERRORLEVEL 1 (
 FOR /f "delims=" %%a IN (q25186276.txt) DO (
  ECHO(%%a
  FOR /f "tokens=1*delims== " %%b IN ("%%a") DO (
   IF "%%b"=="version" ECHO(     description="%description%"
  )
 )
)>newfile.txt
IF EXIST newfile.txt move /y newfile.txt q25186276.txt >NUL 2>nul

GOTO :EOF

我使用了一个名为q25186276.txt的文件,其中包含我的测试数据。

您需要设置描述和缩进间距以适应。