2013-08-07 3 views
0

Я хотел бы удалить один символ «&» из сотни файлов XML регулярно. Вместо того, чтобы выполнять ручную работу, я хочу написать сценарий .bat и запланировать его. так что, когда этот скрипт bat запускается, символ & из всех XML-файлов должен быть удален скриптом.Сценарий для удаления одного алфавита из файла XML

У нас есть местоположение D: \ Transfer \, в этом месте мое приложение будет генерировать XML-файлы регулярно. Я хочу найти символ (&) в одной строке XML и удалить этот символ & из XML.

Может кто-нибудь, пожалуйста, помогите мне выбраться отсюда?

+1

Знаете ли вы, что если удалить "&" символ из вашего XML и у вас есть специальные символы, такие как '<' ('<') или '' '(' " '), вы получите очень запутанный текст или даже потенциально сломанный XML? – glenatron

+0

Hi Glenatron, У нас будет & symb ol в одной строке всего файла. Таким образом, это не будет путаницей для нас. – user2660141

ответ

1

попробовать это:

@echo off &setlocal 
set "search=&" 
set "replace=" 

FOR %%a IN ("D:\Transfer\*.html") DO call:process "%%~a" 
goto:eof 

:process 
set "textfile=%~1" 
set "newfile=%~1.new" 
(for /f "delims=" %%i in ('findstr /n "^" "%textfile%"') do (
    set "line=%%i" 
    setlocal enabledelayedexpansion 
    set "line=!line:%search%=%replace%!" 
    echo(!line! 
    endlocal 
))>"%newfile%" 
goto:eof 

вы также можете использовать sed для этого:

for %%a in (*.html) do sed "y/&/ /" "%%~a" > "%%~na.new" 
+0

- - Readsoft <р0: BASISPONumber> T & E - Это мой файл XML, и я хочу, чтобы удалить и символ из строки <р0: BASISPONumber> T & E Этот файл находится в папке F: \ Transfer \ Transfer_out \ на сервере. – user2660141

+0

, пожалуйста, добавьте код, отредактировав свой ответ. Код в поле комментария нечитабелен. – Endoro

Смежные вопросы