3
是否也可以忽略一些重複線,而從XML文件刪除其他重複的,例如:如果我的abx.xml是 CODE:批處理腳本刪除重複線,但想忽略/跳過一些行
@echo off
setlocal disableDelayedExpansion
set "file=%~1"
set "line=%file%.line"
set "deduped=%file%.deduped"
::Define a variable containing a linefeed character
set LF=^
::The 2 blank lines above are critical, do not remove
>"%deduped%" (
for /f usebackq^ eol^=^%LF%%LF%^ delims^= %%A in ("%file%") do (
set "ln=%%A"
setlocal enableDelayedExpansion
>"%line%" (echo !ln:\=\\!)
>nul findstr /xlg:"%line%" "%deduped%" || (echo !ln!)
endlocal
)
)
>nul move /y "%deduped%" "%file%"
2>nul del "%line%"
只有BATCH SCRIPT請。
<bookstores>
<book id="parent">
<name="it1"/>
<name="it1"/>
<name="it2"/>
</book>
<book id="child">
<name="it1"/>
<name="it1"/>
<name="it2"/>
<name="it3"/>
</book>
</bookstores>
輸出應該是:
<bookstores>
<book id="parent">
<name="it1"/>
<name="it2"/>
</book>
<book id="child">
<name="it3"/>
</book>
</bookstores>
但我得到的輸出是: 注:</book>
標記將被刪除。
<bookstores>
<book id="parent">
<name="it1"/>
<name="it2"/>
</book>
<book id="child">
<name="it3"/>
</bookstores>
我已搜查夫婦呈三角請求,但他們大多是刪除所有重複的行,但不知道如何忽略某些重複的行:
Batch to remove duplicate rows from text file
您試圖將XML視爲純文本文件。它是,它不是。 XML是一種結構,您發佈的鏈接是針對非結構化文件的。有時你必須使用正確的工具來完成這項工作。像['XSLT'](http://stackoverflow.com/questions/355691/how-to-remove-duplicate-xml-nodes-using-xslt)將更適合於此。 – Gray
發佈您的代碼,以便我們不必重新編寫它。 – RGuggisberg
http://stackoverflow.com/questions/11689689/batch-to-remove-duplicate-rows-from-text-file/17859683#17859683給定的鏈接是有代碼的。 – phani