读取带敏感字符的行的批处理

所属分类: 脚本专栏 / DOS/BAT 阅读数: 521
收藏 0 赞 0 分享

复制代码 代码如下:

@echo off
:: 普通的 for+findstr 语句会忽略分号开头的行
:: findstr /n .* 用delims=:后,会忽略行首所有的冒号
:: 还有!、&、.等特殊符号需要处理
:: 以下代码可以准确提取这些敏感字符
:: 解决了 setlocal 最大递归层的问题(setlocal 两两嵌套处理超过15行内容时会带来此问题)
:: 能计算空行
:: code by jm 2006-12-12 thanks 3742668 CMD@XP
set num=0
for /f "delims=" %%i in ('findstr /n .* test.txt') do (
set /a num+=1
set "str=%%i"
setlocal enabledelayedexpansion
echo 第 !num! 行: !str:*:=!
endlocal
)
pause
goto :eof
@echo off
:: 超过15行内容时,会带来 setlocal 最大递归层的问题
:: code by 3742668 2006-12-11 CMD@XP
@echo off
setlocal enabledelayedexpansion
set num=
for /f "eol= delims=" %%i in ('findstr .* a.txt') do (
setlocal DISABLEDELAYEDEXPANSION
set "tmpstr=%%i"
setlocal enabledelayedexpansion
set /a num += 1
set "!num!=!tmpstr!"
)
for /l %%i in (1,1,%num%) do echo 第%%i行: !%%i!
pause
exit /b 0
@echo off
:: 不能正确提取带感叹号的内容
:: code by jm 2006-12-11 CMD@XP
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('findstr /n .* test.txt') do (
set /a num+=1
set "str=%%i"
echo 第 !num! 行: !str:*:=!
)
pause
goto :eof
@echo off
:: 结果要用引号括起来
:: code by jm 2006-12-11 CMD@XP
set num=0
::setlocal enabledelayedexpansion
for /f "delims=" %%i in ('findstr /n .* test.txt') do (
set /a num+=1
set "str=%%i"
call :display
)
pause
goto :eof
:display
echo 第 %num% 行: "%str:*:=%"
goto :eof
test.txt的内容
:abc
::xy

;;;ef &
;:;
::;;

&
^
!<
!
%
"
""
'
test
abc

更多精彩内容其他人还在看

sxs.exe的查杀bat代码

在每个盘根目录下自动生成sxs.exe,autorun.inf文件,有的还在windows\system32下生成SVOHOST.exe 或 sxs.exe ,文件属性为隐含属性。自动禁用杀毒软件,这篇文章主要是介绍批处理查杀病毒的一些技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

判断分区格式的bat代码

判断分区格式的bat代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Bat脚本处理ftp超强案例分析

公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新
收藏 0 赞 0 分享

cmd命令行大全 dos命令 cmd命令整理

cmd命令行大全 dos命令 cmd命令,方便学习cmd的朋友,大家可以通过Ctrl+F查找定位
收藏 0 赞 0 分享

利用 bat 文件制作 HOSTS 快速切换器

在平时每天需要切换好几次 HOSTS 文件,那有什么办法可以简化这个操作
收藏 0 赞 0 分享

批量安装windows补丁的批处理脚本

其实就是通过for命令实现批量安装,大家只要熟练使用for命令就可以节约很多时间
收藏 0 赞 0 分享

在CMD下读取服务器终端的端口的代码

这个批处理可以用来查看服务器远程终端的端口,不过是16进制的
收藏 0 赞 0 分享

Windows批量添加防火墙例外端口的批处理代码

有时候我们需要添加很多端口到防火墙例外,如果一个一个手工添加很累,那么就可以利用下面的方法
收藏 0 赞 0 分享

bat定时自动关机,bat自动结束任务关闭程序,dos自动结束程序后关机

bat定时自动关机,bat自动结束任务关闭程序,dos自动结束程序后关机的命令介绍
收藏 0 赞 0 分享

复制文件到c盘windows文件夹下的system32的批处理写法

三个文件复制到c盘windows文件夹下的system32文件夹 批处理怎么写?本文提供解决方法,需要的朋友可以了解下
收藏 0 赞 0 分享
查看更多