bat应用----删除前三行、合并文件

   日期:2024-12-26     作者:yindufu1       评论:0    移动:http://w.yusign.com/mobile/news/5247.html
核心提示:我有两个文件夹Types和TypeBodies,里面有同名的文件(后缀不同),否则只在Types里面。我需要删除每个文件里面前三行注释的内容

我有两个文件夹Types和TypeBodies,里面有同名的文件(后缀不同),否则只在Types里面。我需要删除每个文件里面前三行注释的内容,然后把TypeBodies的文件内容放到Types里的同名文件后。

  • 删除所有文件的前三行

  • 合并同名文件

下面说说我对其中命令的理解:
▶echo off关闭屏显,就是下面的指令不会在屏幕上打出来,前边加个@,echo off也不会显示;
▶&表示命令都执行,前边执行失败,后边不执行;
▶setlocal enabledelayedexpansion表示变量延迟,下面的for循环会用到,使得每次循环%%i的值不一样;
▶for %%i in (1) do (2)是bat中的for循环,%%i是循环变量,(1)是需要循环的集合,(2)是每次循环需要执行的语句块,/r表示递归遍历,.表示当前目录,后边的反斜杠是文件夹分隔符,切记只能用反斜杠;

bat应用----删除前三行、合并文件

▶echo打印后边内容到屏幕;rem表示注释,后边的内容不执行;
▶下边一个for循环按行遍历文件内容,/f表示读取文件内容,skip=3表示跳过前三行,delims=表示分隔符为空,findstr表示查找字符串,.*表示任意字符重复任意遍,用这种方法能查找文件内所有字符,包括空格和空行;
▶echo;表示忽略输出到屏幕,>>表示输出,只是一个变量;
▶move 表示移动内容到;pause是暂停,屏幕显示输入任意字符以继续
▶%%~ni表示%%i中文件名(没有路径,没有后缀),后边加.tpb表示字符拼接;
▶copy 把前边内容复制到后边文件,+表示两个文件拼接,/b表示是二进制文件,此处避免生成的文件后边有特殊字符

----华丽分割线---------------------------------------------------------------------------------------------

这里贴出我学习中用到的测试代码,相对更入门一点儿

  • 提取文件内容

注:其中findstr后边的/v,表示排除匹配的行,是转义字符(是findstr中的,bat中的转义字符是^)

  • 从一个文件中查找另一个文件中的同名文件

下边的几个文件操作不能保留空白字符和空行,请慎重

  • 复制内容到同名文件

注:>nul 2>nul能够使move操作不在窗口显示

  • 同名txt文件添加到sql文件后

注:第二个循环里面的'type %%ni.txt'如果换成%%ni.txt则找不到a.txt文件,具体原因不知道。。。type命令是在窗口显示文件内容

  • 删除文件第一行

  • 删除文件最后一行

  • 删除文件最后一行pro
     本文地址:http://w.yusign.com/news/5247.html    述古往 http://w.yusign.com/static/ , 查看更多
 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号