`

WindowsBatch与LinuxShell比较[batch常见命令和字符串查找命令find/findstr]

 
阅读更多

 

 

一 常见命令
1) at 11:00/interactive "c:\hero\hero.exe"
表示在11:00运行c:\hero\hero.exe,其中interactive是参数,表示允许作业在运行时与当时登录的用户桌面
进行交互。

2) 显示或更改文件属性。(也可以更改文件夹的属性)
例 attrib d:\hero.txt
显示d:\hero.txt的属性。
例 attrib d:\hero.txt +h +s +r
为d:\hero.txt添加隐藏、系统、只读的属性。
例 attrib d:\hero.txt -h -s -r
为d:\hero.txt去掉隐藏、系统、只读的属性。

3)显示目录中的文件和子目录列表。
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/O[[:]sortorder]] [/S]
/A 显示具有指定属性的文件。
attributes D 目录 R 只读文件
H 隐藏文件 A 准备存档的文件
S 系统文件 - 表示“否”的前缀
/B 使用空格式(没有标题信息或摘要)。
/O 用分类顺序列出文件。
sortorder N 按名称(字母顺序) S 按大小(从小到大)
E 按扩展名(字母顺序) D 按日期/时间(从先到后)
G 组目录优先 - 颠倒顺序的前缀

/S 显示指定目录和所有子目录中的文件。

dir命令参数较多,在此仅列出几个以供学习使用。
例一、
@echo off
dir /b
pause
只列出当前目录下的文件名和子目录名。(如果没有“/b”参数,将会显示一些额外的信息。)
例二、
@echo off
dir /s
pause
不仅列出当前目录下的文件名和子目录名,还列出子目录中的文件及子目录名。
例三、
@echo off
dir /ah
pause
列出当前目录下隐藏文件的文件名。
例四、
@echo off
dir /os
pause

按照文件的大小顺序显示当前目录下的文件。

 

4)注册组件
/u 解除注册
/s 无声,不显示消息框

例:regsvr32 /s hero.dll

5) 显示日期。
如果加上“/t”参数则只显示日期,而不用输入新日期。
显示时间。
如果加上“/t”参数则只显示时间,而不用输入新时间。

6)用于将路径虚拟成磁盘
例 subst X: c:\hero
将c:\hero虚拟成x盘。
例 subst X: /d
删除虚拟磁盘X。
这个命令有时可以代替虚拟光驱。
注:系统重启后虚拟的磁盘将消失。

7) tree以图形显示驱动器或路径的文件夹结构。

二 字符串查找命令

1)在文件中搜索字符串。

FIND "指定要搜索的文字串" 指定要搜索的文件
例:
@echo off
find "hero" hero.txt >nul
if errorlevel 1 echo 没找到!
if errorlevel 0 echo 找到了!

pause

 

2) 在文件中寻找字符串。

FINDSTR [/S] [/I] [/N] [/M] [/C:string] strings [[drive:][path]filename[ ...]]
/S 在当前目录和所有子目录中搜索匹配文件。
/I 指定搜索不分大小写。
/N 在匹配的每行前打印行数。
/M 如果文件含有匹配项,只打印其文件名。
/C:string 使用指定字符串作为文字搜索字符串。
strings 要查找的文字。
[drive:][path]filename
指定要查找的文件。

除非参数有 /C 前缀,请使用空格隔开搜索字符串。
例如: 'FINDSTR "hello there" x.y' 表示在文件 x.y 中寻找 "hello" 或
"there" 。 'FINDSTR /C:"hello there" x.y' 表示在文件 x.y中寻找
"hello there"。

findstr正则表达式的基本用法:
1.findstr . hero.txt 或 Findstr "." hero.txt
在文件hero.txt中查找任意字符,不包括空行。

2.findstr .* hero.txt 或 findstr ".*" hero.txt
从文件hero.txt中查找任意字符包括空行。

3.findstr "[0-9]" hero.txt
从文件hero.txt中查找包括数字0~9的行。

4.findstr "[a-zA-Z]" hero.txt
从文件hero.txt中查找包括任意字符的行。

5.findstr "[dhyz]" hero.txt
从文件hero.txt中查找包括d h y z字母的行。

6.findstr "[a-hl-z]" hero.txt
从文件hero.txt中查找小写字符a-h l-z的字符串,但不包含I j k这几个字母。

7.findstr "h[aeg][jri]o" hero.txt
从文件hero.txt中可以匹配hejo,hajo,hgio,hero等…。

8. ^和$符号的应用
^ 表示行首匹配,"^hero"仅匹配 "heroisme"中的第一个单词。
$ 表示行尾匹配,"hero$"仅匹配 "iamthehero"中最后一个单词。

9.finstr "[^0-9]" hero.txt
如果是纯数字的字符串或者行便过滤掉,例如123321235545这样的字符串,如果是dafsd4555232fd这样的形式就不可以了。

10.findstr "[^a-z]" hero.txt
同上,如果是纯字母的字符串或者行便过滤掉,例如sgfgsdfgdf这样的字符,如果是dasfdsf454f这样的形式,掺杂着数字就不可以了。

11.*号的作用
前面已经说过了 ".*"表示搜索的条件是任意字符,*号在正则表达式中的作用不是任何字符,而是表示左侧字符或者表达式的重复次数,*号表示重复的次数为零次或者多次。

12.findstr "^[0-9]*$" hero.txt
这个是匹配找到的纯数字,例如314531454,如果是53234523hh234就被过滤掉了。
Findstr "^[a-z]*$" hero.txt
这个是匹配找到的纯字母,例如 sdfsdfsdfsdf,如果是34fdaf454fdad就被过滤掉了如果在搜索条件里没有*号,也就是说不重复左侧的搜索条件,也就是[0-9] [a-z]那只能匹配字符串的第一个字符也只有这一个字符。

13. "\<…\>"这个表达式的作用
这个表示精确查找一个字符串,\< 表示字的开始位置,\>表示字的结束位置
echo hello world hero|findstr "\<hero\>"这样的形式
echo hello worldhero|findstr "\<hero\>" 这样的形式就不成了,他要找的是 "computer"这个字符串,所以不可以。

echo hello worldhero|findstr ".*hero\>"这样就可以匹配了。

完!

感谢,Thanks!

作者:iTech
出处:http://itech.cnblogs.com/

分享到:
评论

相关推荐

    Linux_UNIX 下的命令大全

    Linux UNIX命令大全 常用命令 acctcom 等于进程记帐文件 accton 启动或中止记帐进程 adb 汇编语言调试工具 admin 创建和管理SCCS文件 ar 档案文件和库文件管理程序 as 汇编器 asa 回车控制 at 在指定时间执行...

    BAT遍历多组字符串的实现语法用例

    BAT遍历多组字符串的实现语法用例 FOR /F ["options"] %variable IN ("string") DO command [command-parameters] FOR /F ["options"] %variable IN ('command') DO command [command-parameters] 如何使用FOR语法...

    01_shell编程.docx

    Shell的作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行一条,这种方式称为交互式(Interactive),Shell还有一种执行命令的方式称为批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多...

    Shell脚本学习笔记

    3.2.2字符串比较 64 3.2.3 文件比较 65 3.2.4 复合条件检查 65 3.3 if-then的高级特征与case命令 66 3.3.1 使用双圆括号 66 3.3.2 使用双方括号 67 3.3.3 case命令 67 3.4 for命令 67 3.4.1 读取列表 68 3.4.2 读取...

    常用linux命令及服务器配置大全 工作中收集的linux常用命令。

    本人在工作中收集的linux常用命令。 acctcom 搜索并显示进程记帐文件 ar 维护可移植的档案或库 at 定时执行某个命令 awk 模式扫描和处理语言 batch 对at命令的调用 banner 显示大尺寸字符 basename,dirname 给...

    windows下的ipmitool 及常用命令集

    windows下的ipmitool 及常用命令集,制作成batch的格式,使用时只要在命令后加入远程IP 用户名 密码即可。 比如: on 192.168.1.100 admin admin,即表示通过ipmitool 将远程IP为192.168.1.100的server开机。

    editplus文本编辑器windows batch语法高亮文件

    editplus文本编辑器自带的语法高亮文件很少,但是我们可以扩展,这个就是windows batch语法高亮文件。

    Jsch批量执行多条命令,包含切换用户输入密码

    参考expect4j的交互式操作方式控制输入输出流实现批量执行多条shell命令同时支持切换用户输入密码提权执行命令输入密码等操作 有完整的测试用例,便于理解 ...具体模板参数意义下载解压缩后查看batch.list中有解释

    Linux 重命名命令自制详细介绍

    相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。 准备工作 操作系统: Linux内核的系统都可以 Shell:我用的系统...

    Windows Batch

    批处理书籍可以帮助你了解windows批处理的使用

    linux命令 linux教程

    1.adduser命令:增加一个系统用户 ... 4.apropos命令:查找用户手册的名字和相关描述  5.arch命令:输出主机的体系结构  6.batch命令:执行批处理  7.bg命令:将程序放在后台执行  8.cd命令:切换目录

    批量上传文件及执行命令脚本——ssh_batch_trans

    在Windows下调用格式为: cmd命令行中直接 .\ssh_batch_trans.exe 或 python ssh_batch_trans.py # 显示帮助文档,详细操作指南见帮助文档内容 -h,-H,--help 帮助页面 -C, --cmd 执行命令模式 -M, --...

    Dos命令大全

    引号字符为文字字符串命令并允许在 fi 中使用双引号扩起文件名称。 sample1: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将 ...

    batch命令 指定时间执行任务

    batch命令用于在指定时间,当系统不繁忙时执行任务,用法与at相似。 batch命令是在当系统负载水平允许时执行命令;换句话说,当负载平均值低于0.8或ATD调用中指定的值时。 语法格式:batch [参数] 常用参数: -f ...

    node-shell-batcher:一个用于在文件夹上运行大量Shell命令的CLI

    节点-壳-蝙蝠侠 ...代表shell命令的字符串,或者是传递当前文件名且必须返回字符串的函数。 还支持一组依赖的字符串或函数。 小路 细绳 真的 每个文件将在其中运行command文件夹的路径。 筛选 功能

    Windows 批处理调试器3.0

    增加了在文档中查找字符串的功能。 智能提示 增加了命令的智能提示功能,用户可以通过修改安装目录下的隐藏文件IntelliSense.txt来定制智能提示。 本次更新: 修复了有中文时,代码着色线程造成程序崩溃的错误。...

    Linux命令大全速查手册

    Linux命令大全速查手册完整版…… 第1章 系统管理  1.1 adduser指令:增加一个系统用户  1.2 apm指令:高级电源管理  1.3 apmsleep指令:APM进入备用或者休眠状态  1.4 apropos指令:查找使用手册的名字和...

    最全的oracle常用命令大全.txt

    列出全部SQL命令和SQL*Plus命令 SQL&gt;help 列出某个特定的命令的信息 SQL&gt;help 命令名 c、显示表结构命令DESCRIBE SQL&gt;DESC 表名 d、SQL*Plus中的编辑命令 显示SQL缓冲区命令 SQL&gt;L 修改SQL命令 首先要将待改正行...

    batchdb-shell:shell 脚本的作业队列,将输出写入 blob 存储

    批处理数据库外壳shell 脚本的作业队列,将输出写入 blob 存储例子排队一个 shell 命令将 shell 命令推送到队列中: var batchdb = require ( 'batchdb-shell' ) ;var db = require ( 'level' ) ( '/tmp/compute.db'...

    SpringBoot+Batch实现

    spring batch官方入门实例:https://projects.spring.io/spring-batch/ 简单的任务操作实现,当前项目只是一个demo,我也是初学,目前启动执行完任务boot自动关闭问题还没有解决,代码可供讨论,不能直接使用,哪位...

Global site tag (gtag.js) - Google Analytics