0

サンプル入力:

<document> 
 <filename>Admin Training Manual.pdf</filename>
 <type>0</type>
</document>
<document>
 <filename>Document Manual.pdf</filename>
 <type>0</type>
</document>

条件: ファイル名 = 管理者トレーニング マニュアルの場合、タイプを 1 に変更します。

出力:

<document> 
 <filename>Admin Training Manual.pdf</filename>
 <type>1</type>
</document>
<document>
 <filename>Document Manual.pdf</filename>
 <type>0</type>
</document>

私は自分の処分ですべてを試しましたが、答えが見つかりません。

私はまだ試みていませんが、コンセプトはそこにあります:

if header = <document> (
  loop to count line inside <document>
    if line is equal to 1 
    then check the string
      if match
      then replace line 2 with 1.     
)
4

2 に答える 2

1
@echo off
setlocal EnableDelayedExpansion

for /F "delims=:" %%a in ('findstr /N /C:"<filename>Admin Training Manual.pdf</filename>" input.txt') do set /A num=%%a+1

(for /F "tokens=1* delims=:" %%a in ('findstr /N "^" input.txt') do (
   set "line=%%b"
   if %%a equ %num% set "line=!line:0=1!"
   echo !line!
)) > output.txt
于 2013-11-19T07:21:05.780 に答える