写几个windows文本处理方面的脚本

来源:互联网 发布:linux下输入ftp命令 编辑:程序博客网 时间:2024/05/28 23:10

      这是我在做jenkins自动更新时,在处理文件清单时所用到的几个脚本。感觉挺实用的,分享下。

1、替换文本中某些特定字符串

注释:aaaa、cccc、/是被替换的字符串

          bbbb、\替换的字符串

@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in (1.txt) do (
set str=%%a
set str=!str:aaaa=bbbb!
set str=!str:cccc=bbbb!
set str=!str:/=\!
echo !str!>>tmp.txt
)

del 1.txt
ren "tmp.txt" "1.txt"

2、在文本中每行前后分别添加某个字符串
@echo off&setlocal enabledelayedexpansion
set head=echo f "|" xcopy  
set tail=   D:\update\ui\WEB-INF\classes\
set var=   /s/e/y
for /f "delims=" %%i in (1.txt) do (echo !head!%%i!tail!%%i!var!>>2.txt)

3、删除文本中以某个字母开头的行(w,s),eol表示去除以某个字幕开头的行

for /f "eol=W tokens=* delims= " %%i in (1.txt) do echo  %%i >>2.txt
for /f "eol=s tokens=* delims= " %%i in (1.txt) do echo %%i >>3.txt

4、输出以某个字符串结尾的行(输出以.java结尾的行) findstr /E 表示匹配以某字符串结尾的行
@echo off
set  endword=.java
for %%a in (%endword%) do (
 findstr /E "%%a$" 1.txt >Temp.txt
 move Temp.txt 1.txt
)
5、输出不匹配的行  findstr /v表示只打印不包含匹配的行
@echo off
set  endword=.java
for %%a in (%endword%) do (
 findstr /v "%%a$" 1.txt >tmp.txt
 move tmp.txt  1.txt
)

6、如果文件为空,则删除该文件
@echo off&call :sub1 %~dps0javalist_%date%.txt
:sub1
if exist "%1" (if "%~z1" == "0" (del javalist_%date%.txt) )

原创粉丝点击