bat批处理笔记(一)

本文参考链接:https://blog.csdn.net/iteye_1032/article/details/82206746,

http://www.dzwebs.net/3814.html

1.回显设置:

(1)@echo off:
echo off:关闭回显
@:表示echo off这一行也不会回显

(2)1>nul :不显示命令运行的正确提示;

     2>nul:不显示错误提示;

     >nul:屏蔽命令输出内容

del test.doc 2>nul                        rem 屏蔽错误提示

 

 

2.脚本注释方法:
单行注释:
(1)rem 注释内容
(2):: 注释内容
(3)echo 注释内容 > nul
多行注释,例:
goto comment   
注释内容
注释内容
:comment
//以:xx来构建一个标号,然后用goto xxx直接来执行标号后的命令

 

3.变量使用:


set /a x=1+2                    rem /a后面加表达式
echo %x%                        rem 3
pause>nul


set /p y=请输入一个值:           rem /p实现与用户交互
echo %y%                         
pause>nul

扩展变量

%errorlevel%                                    判断上一条命令是否执行成功(相当于linux shell中的$?)

%processor_architecture%               系统架构,amd64/x86

@ 与%i相关的变量(bat参数或者for循环的%i)
假设文件为C:\Documents and Settings\jinsun\桌面\ParseSinglePkgs.bat
%0              C:\Documents and Settings\jinsun\桌面\ParseSinglePkgs.bat
%~dp0        C:\Documents and Settings\jinsun\桌面\
%cd%         C:\Documents and Settings\jinsun\桌面
%~nx0        ParseSinglePkgs.bat
%~n0          ParseSinglePkgs
%~x0         .bat

与%VAR%相关的变量
%VAR:str1=str2%    会将VAR中的str1替换为str2(str2如果为空则可以达到删除的效果,str1前可以加*,变量%ABC:*B=%是C)
%VAR:~0,-2%          会提取VAR 变量的所有字符,除了最后两个
%VAR:~2%              会提取VAR 变量的除前两个的所有字符
%VAR:~-2%             会提取VAR 变量的最后两个
%VAR:~2,5%           提取从第2个字符开始的5个字符

 

4.获取参数方法有2种,
一种为从命令行输入参数,使用两个%中间包含数字表示,数字从1至9,也就是说命令行参数最多为9个
另一种为键盘输入参数,合用set /p完成,以下为示范代码:

@echo off
echo show %1%
set /p ver=请输入版本:
echo 版本:%ver% 打包开始


5.type用于打印文件内容,相当于linux的cat,如:
type a.txt            //显示的是a.txt的内容
echo a.txt            //显示a.txt的字符串
type还可用于批量创建文件,如:

type nul > a.docx         rem 创建a.docx文件

echo > b.docx             rem 创建b.docx文件


6.dir查找目录下的txt文件:
dir *.txt /b /s        //显示文件名、路径以及子目录下文件
dir *.txt /b           //只显示文件名
/b - 舍弃标题与摘要内容
/s - 遍历当前目录和子目录
查找c盘下所有的txt文件:

cd / & dir *.txt /b /s > name.txt


7.特殊符号:

      ^用于对特殊符号">""<""&"的前导符,在命令中它将以上3个字符的特殊功能去掉,仅仅只把它们当成符号而不使用他们的特殊意义。

echo test ^>1.txt                 rem 打印结果为test ^>1.txt

      &&&都用于连接多个DOS命令,其中&把这些命令按顺序执行,而不管是否有命令执行失败;
而&&把这些命令按顺序执行,如果有命令执行失败就exit,不在执行下一个命令。

echo 1 & echoo 2 & echo 3             rem 输出1和3
pause>nul

 

echo 1 && echoo 2 && echo 3         rem 只输出了1
pause>nul

     ||:顺序执行,有一个命令执行成功就exit。

     |:管道符号,前一个命令的输出作为下一个命令的输入。

netstat -ano | findstr 80        rem 筛选出netstat -ano执行结果中包含80字符串的行

 


8.多脚本调用:

echo. |call C:\Users\Jerry\Desktop\b.txt 

echo.相当于遇到pause就按下enter键的操作

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值