0

我想定期从一百个 XML 文件中删除一个符号“&”。我不想做手工工作,而是想编写一个 .bat 脚本并安排它。所以当这个 bat 脚本运行时,所有 XML 文件中的 & 符号必须被脚本删除。

我们有一个位置说 D:\Transfer\,在这个位置我的应用程序将定期生成 XML 文件。我想在一行 XML 中搜索符号 (&) 并从 XML 中删除该 & 符号。

有人可以帮我摆脱困境吗?

4

1 回答 1

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"
于 2013-08-07T10:42:37.743 回答