首页 > 其他分享 >BAT批处理对文本指定行的删除与添加

BAT批处理对文本指定行的删除与添加

时间:2022-10-28 08:57:56浏览次数:83  
标签:BAT set 删除 批处理 xxx echo %% html 文本

因为某些数据被导出为html文件,用于内部浏览查看,所以无法对<head>等标签设置,只能手动处理。但因内容繁复又是每天必做内容,所以使用了批处理来操作。但中间出现了多次语句问题或down下来的例子与情况不符,进行了很多修改。

一、开始
① 修改好文件后需要上传至web服务端使用,因此本地处理文件完成后就删除,选择使用:

setlocal enabledelayedexpansion
if exist "xxx" goto xxx

首先开启变量延迟(即允许先运行后边的变量赋值运算后再从命令前面部分导入使用),判断文件是否存在,如果存在xxx,即跳转至xxx。

② 公司涉及两个部门,有两个不同命名文件,因此使用手书变量:

set /p dei=    ◆请输入选择: if /i "%dei%"=="1" goto o1 if /i "%dei%"=="2" goto o2 exit

/i 参数为忽略大小写,这里因为纯数字没有作用。

③ 因为中间有很多变量定义,为防出错或重新引用变量导致赋值错误,因此使用随机变量名:

set x=#!random!

设置x变量为随机数,为防纯数字应用时有错误,在前面加入#号分别。并且每次变量语句前都要使用。

二、过程

① 删除指定行

for /f "tokens=*" %%i in (xxx) do ( set /a x+=1 if !x! neq 5 echo %%i>>test.html )

显示xxx文件中除第五行之外的数据到test.html,即从文中删除第五行之意。如删除多行,因初学,可以直接多运行几遍。。。

 ② 插入新行,并添加新内容

set "f=test.html" (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%f%"') do (     set /a x+=1     if !x! equ 9 (         echo;%%b         echo;^</HEAD^>         echo;^<BODY^>     ) else echo;%%b ))>Shuai.html

 注意此处:必须关闭回显@echo off ,因在测试时开启了回显从而报错,还以为语句有问题,差点错过去。
 此处意为:从test.html中第九行开始,追加新文本内容:
</HEAD>
<BODY>
 到Shuai.html中,每个标签一行。又因<>符号在批处理命令中属于管道命令,因此用^符号作转义字符来正确输入。

③ 复制

copy /y xxx xxx

这个很好理解,复制到web服务端,默认替换无提示。如果共享不稳定,可以设置磁盘映射来解决。

三、结束

del /F /Q

删除操作目录文件,以配合开头的 if exist命令。  

标签:BAT,set,删除,批处理,xxx,echo,%%,html,文本
From: https://www.cnblogs.com/System-admin/p/16834631.html

相关文章

  • 批处理中echo命令之后怎么加其它命令
    超简单的问题,不过因为很少用过,所以都忘干净了。一般在echo[message]后就没有继续写命令的需要了,但是比如下行:if%errorlevel% EQU0echosuccess!elseechofailed~......
  • 提交有文件和其它文本内容的表单
    提交有文件和其它文本内容的表单<formaction="items/addItems"method="post"enctype="multipart/form-data"><pre>产品名称:<inputtype="text"name="name"/>......
  • Mybatis的应用
    一、导入jar包。  二、加入配置文件。1、在config下创建log4j.properties如下:#Globalloggingconfigurationlog4j.rootLogger=DEBUG,stdout#Consoleoutput.......
  • 【学习笔记】Mybatis配置优化
    Mybatis配置优化1.核心配置文件结构核心配置文件:mybatis-config.xml官方建议起这个名字,但我们可以随意起名configuration(配置)properties(属性)settings(设置)ty......
  • MybatisPlus实现逻辑删除
    逻辑删除:在表中设计一个标志位,约定0表示删除,1表示存在实现办法1.在表中添加标志位2.在该表对应的实体类中的属性上面,加上注解@TbaleLogic该注解默认0......
  • 文本挖掘与NLP笔记——代码向:分词
    分词:jieba.cutwords=jieba.cut("我来到北京大学",cut_all=True)print('全模式:'+'/'.join([wforwinwords]))#全模式words=jieba.cut("我来到北京大学",cut_a......
  • 清除C盘垃圾脚本.bat
    remcodebegin@echooffecho正在清除系统垃圾文件,请稍等......del/f/s/q%systemdrive%\*.tmpdel/f/s/q%systemdrive%\*._mpdel/f/s/q%systemdrive%\*.......
  • 安装富文本依赖失败
    $npminstallvue-quill-editor--savenpmERR!codeEPERMnpmERR!syscallunlinknpmERR!pathD:\codes\###\node_modules\.node-sass.DELETE\vendor\win32-x64-83......
  • Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组数据集|附代码数据
    全文链接:tecdat.cn/?p=24376在这篇文章中,我们讨论了基于gensim包来可视化主题模型(LDA)的输出和结果的技术(点击文末“阅读原文”获取完整代码数据********)。介绍......
  • R语言文本挖掘、情感分析和可视化哈利波特小说文本数据|附代码数据
    全文下载链接:tecdat.cn/?p=22984一旦我们清理了我们的文本并进行了一些基本的词频分析,下一步就是了解文本中的观点或情感。这被认为是情感分析,本教程将引导你通过一个简单......