我在几个文件夹中有大量html文件。 问题是我必须从那些html文件中删除 标签。 我无法弄清楚如何做到这一点.. 我搜索了互联网,一无所获。 是否有任何cmd脚本会打开每个html文件并删除 标记或替换为我选择的任何其他标记? 谢谢你的帮助。
答案 0 :(得分:2)
嗯..经过8个小时的个人实验,现在应该按照@ user3551620的要求工作了。由于问题规范的更改,我在答案中做了更新,用户告诉我他想在系统文件中运行此脚本,我在其中处理包含空格的路径的工作问题:“Program Files(x86)”..请记住,如果您在系统文件中运行此脚本,则应该以管理员身份执行此脚本,因为在脚本中创建了新的临时文件和其他需要权限的文章。
现在正确的代码应该如下工作:
setlocal enabledelayedexpansion
::get path
SET mypath=%~dp0*.html
set /p old=old string ?
set /p new=new string ?
::cycle for every file of specific folder where you have this script and all html files
for /f "delims=" %%f in ('dir /b /s "%mypath:~0,-1%"') do (
::copy to temp file line by line text with replacing of specific tags
for /f "delims=" %%a in ('type "%%f"') do (
set str=%%a
set str=!str:%old%=%new%!
>> tempfileXXX.txt echo !str!
)
::empty the folder from where you copied
break>%%f
::cycle over every line of temp file to copy back to old file
for /f "delims=" %%a in (tempfileXXX.txt) do (
set str=%%a
>> "%%f" echo !str!
)
::clear tempfile
break>tempfileXXX.txt
)
::delete temp file
del tempfileXXX.txt
pause
您必须在需要执行操作的文件夹中运行此script.bat。运行脚本后会要求您添加字符串应该替换哪些标签,然后再添加应该替换的标签。请记住,当使用“<”时和“>”创建标签的标志,你应该在每个“<”之前输入签署特殊的“^”字符。这将用你文件夹中arr .html文件中的php标签替换所有html标签。
其他问题但不大: