Windows cmd命令(一)基础概念

演戏:戏外的看戏内的表演-->戏内的看导演的剧本-->剧本看投资方-->投资方看流量-->流量看背景

windows cmd 快捷键

一   batch批处理

批处理文件:是将'一系列命令'按一定的顺序'集合'为一个'可执行的文本文件',其扩展名为'BAT'或者CMD

批处理:就是运用一些含有'特殊意义的符号'和一些'完成指定功能的命令'组合而成

思考: 有'多少'这样的特殊符号和功能命令?

备注:ctrl  + '<--|-->' -->'命令行以word为单位进行左右快速跳转'

Esc:清除'当前命令行'-->类似Linux的'ctrl+u'

Cls:清屏 -->类似Linux的'ctrl+L'

win键+R -->打开'运行'窗口,在运行窗口中'输入CMD'-->用来打开'命令提示符黑窗口'

二    注释

1)REM为'注释命令',一般用来给程序'加上注解',该命令后的内容'不被执行',但'能回显'

2)'::'后的字符行在执行时'不会回显'

三    echo

备注: echo 后面的字符串'不需要加'双引号-->否则也会'写入文件'中 -->区别Linux

(1)命令行

了解:什么是'命令回显'?

备注:echo是'打印消息'-->'类同'linux的'echo'

关闭回显:是指'运行批处理文件'时,'不显示'文件里的'每条命令',只显示'运行结果'

+++++++++++'@'作用+++++++++++

@echo off #从'本行开始'关闭回显

备注:一般批处理'第一行'都是这个
+++++++'关闭'DOS命令提示符+++++++

在DOS提示符状态下'键入ECHO OFF',能够'关闭DOS提示符'的显示使屏幕'只留下光标',直至'键入ECHO ON',提示符才会'重新'出现

(2)bat脚本中

说明:体会'@echo off'的作用 -->'最佳实践'

①    测试1

②    测试2

③    测试3

④    echo.

⑤  自动答复命令中的提问

⑥    windows中的提示音

'echo ^G(ctrl+g dos命令行打出的)':使'喇叭鸣响'

思考:在批处理命令里面'怎么写'?

备注:一些'简单的特殊符号'可以在dos命令窗口'直接输入',并用'重定向保存'为文本文件

echo ^G > temp.txt  -->type temp.bat'可以响',但是./temp.bat则'不响'

⑦    生成

echo java > hello.txt  -->'类比linux的echo'-->'没有则新建,有则覆盖'

echo java >> hello.txt  -->'类比linux的echo'-->'追加'

++++++++++++'下面是空格的问题--">"要紧密连接'++++++++++++

(3)pause

常见编码

说明:在这里就是'停止pause下面系统命令的执行' -->'任意键继续执行'

(4) errorlevel

备注: 对比linux的'echo $?'去理解

(5)句柄

核心:了解'Windows'这种--'>nul'的这种'语法'

类比:linux

(6)Windows的转义字符

①    转义

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

类比:linux的'\'

②    续行

说明:效果等价linux的'\'反斜杠换行 -->'1行太长写不下'

(7)组合命令

(8)优先级别

'|' 大于 '>、>>' 大于 '||、&&'

需求:把C盘和D盘的文件和文件夹'列出到'a.txt文件中

'错误':dir c:\ && dir d:\ > a.txt 

'正确':dir c:\ > a.txt && dir d:\ >> a.txt 

(9)双引号

(10)百分号

涉及:%、%%vaeiable-->"for循环中(接受变量)"、%variable%-->"echo中引用变量"

备注:!variable! -->是对'%variable%'的增强

(11)批处理运行命令的机制

应用场景:'交换'两个变量的值,但是'不使用临时'变量

set var1=abc

set var2=123

set var1=%var2%& set var2=%var1%

原因:先做'预处理'-->'变量值'替换

①    常规错误做法

原因'解读'

②    正确变量延迟

启动了变量延迟效果:告知'批处理'动态'感知'变化-->即'先不给'该行变量赋值,而是在'运行过程中'给变量'赋值' -->'顺序'

 ③    注意事项

④    继续

说明: !variable!的应用'场景'

1)错误

解读:%variable%'不能感知'变量的'变化'

cmd文件中%和%%有什么区别?

2)正确

(12)set自定义变量

①    常规定义

②    代码里指定变量

③    用户外界手工输入变量

=号'右边'的是'提示语','不是变量的值',变量的值由我们运行后自己用'键盘输入'

备注: 类似Linux的'read -p'

④    set不加参数

⑤    特殊

备注:以下用法将'清除变量variable的值',使其变成'未定义'状态

SET variable=

⑥    set /A

1)  set的/A参数就是让SET可以'支持数学符号'进行'加减'等一些数学运算

注意:一般的运算常'为十进制'运算;如果数字字符串'最左边'为0,将被认为是'八进制'

案例讲解

⑦  获取脚本绝对路径

备注:windows下的"%"类似于Linux的"$" -->%0

(13)set命令进行字符串处理

①    字符串替换

echo %variable:str1=str2%  -->"格式"

效果:将字符串变量%variable%中的str1'全部替换为'str2​

++++++++++++++++'分割线'++++++++++++++++
​
需求:将"a.txt"文件中的"! FUNCTION"替换为"FUNCTION"

原理:是先查找所有的'ty1'变量的值,然后'做替换'-->比一个一个的'if'判断'性能'高

备注:字符串的'替换'和'截取'功能在'引用变'量的地方均可以,并'不一定'必须要有'set'命令

set a=www.wzj.com

echo 替换前的值: "%a%"

echo 替换后的值: "%a:.=伤脑筋%"  -->"."替换为"伤脑筋"

setlocal与endlocal命令

②    字符串截取

于copy命令默认是将目标文件和源文件均视为文本文件,因此新生成的文件带上了文本结束符"1A"

解决的办法很简单,就是在拷贝时'指明'是拷贝'二进制'文件

新的批处理内容如下:"copy /b a.dat+b.dat c.dat"

①②③④⑤⑥⑦⑧⑨⑩

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值