shenzhang 发表于 2018-6-14 10:32:36

windows常用命令(高级语句篇)


[*]变量操作:
查看:
set
定义变量:
setval=abc
提示输入变量:
set/pval=请输入变量:val
替换:
setval=%val:a=b%#把变量%val%中的a替换成b
截取:
setval=%val:~0,3%#截取val的前3位
合并:
setval=%a%%b%
计算:
set/aa=%b%+1#设置变量a的值为变量b+1
[*]调用语句:
a.bat
b.bat
#在a.bat中调用b.bat:
直接调用:
callb.bat
传递参数:
callb.bat%1%2...
callb.bat%*
简写:
@b.bat
查看脚本目录:
echo%~dp0
[*]判断语句:
a. 语法:
if条件(
逻辑
)else(
逻辑
)
  b. 条件:

判断字符串是否相等:
"字符串1"=="字符串2"
判断数值是否相等:
数值1equ数值2
判断文件/文件夹是否存在:
exist 文件名
判断变量是否已定义:
defined变量
判断上个语句的返回值:
%errorlevel%#为0执行成功,否则执行失败
  c. 表达式:

中文含义       关系符       英文解释
等于            equ          equal
大于            gtr          greater than
大于或等于      geq          greater than or equal
小于            lss         less than
小于或等于      leq          less than or equal
不等于          neq          no equal
[*]循环语句:
a. 语法:
for%%ain(%b%)do(
逻辑
)
  b. 用法:

遍历当前目录下的所有文件:
for%%iin(*)do(
echo%%i
)
遍历脚本中的所有参数:
for%%iin(%*%)do(
echo%%i
)
输出文本中以,分隔的第二段内容:
for/f"delims=,tokens=2"%%iin(test.txt)do(
echo%%i
)
遍历当前目录下的所有文件夹:
for/d%%iin(*)do(
echo%%i
)
递归遍历当前目录下的所有文件(包含子目录):
for/r%%iin(*)do(
echo%%i
)
建立序列:
for/l%%iin(1,2,5)do(
echo%%i
)
输出:
1
3
5
[*]字符集操作:
查看:
chcp
切换:
chcp936#简体中文
chcp65001#utf-8
[*]清屏:
cls
[*]显示/修改时间、日期:
日期:
date
时间:
time
只显示:
date/t
[*]宏操作(别名):
创建:
doskeylee=cde:\test$tdir#$t是分隔符
使用:
lee
查看历史记录:
doskey/history
设置历史记录保存条数:
doskey/histsize=1
[*]退出脚本:
exit/b状态码
[*]查看帮助文档:
dir/?
helpdir
[*]跳转语句:
创建标签:
:label
跳转到标签:
gotolabel
死循环:
:test
echotest
gototest
[*]注销:
logoff#linux下是logout
[*]暂停程序的执行:
pause
[*]打印操作:
显示打印列表:
print
删除指定文件:
print/ctest.txt
追加打印文件:
print/ptest.txt
清空:
print/t
[*]修改dos窗口的提示符:
prompt$p$g
[*]排序:
正序:
sorttest.txt
反序:
sort/rtest.txt
输入排序:
sort#结束按ctl+z+回车
[*]显示dos版本号:
ver
[*]显示磁盘卷标和序列号:
vol
[*]扫描磁盘:
立即扫描:
sfc/scannow
开机自动扫描:
sfc/scanboot
页: [1]
查看完整版本: windows常用命令(高级语句篇)