windows脚本入门2-控制语句

window批处理脚本 专栏收录该内容
6 篇文章 0 订阅

本文是原创,如需转发请在转发开头贴上原文地址,谢谢!

个人博客:muyunsoft.com

跳转语句

定义标签:

:标签名

跳转到标签

goto 标签名

注意定义标签时后面是双::那么这个标签将不会起作用,可以当作注释用
实例:
@echo off
goto hi
goto :eof
:hi
echo helloworld
pause

选择语句

if 条件 (

) else (  

)

注意 条件和"(" 还有 else和"(" 之间有一定要有一个空格,不然会出现语法错误!!!

判断条件

  • 等于 “==” 或者 “equ”
  • 不等于 “== 前面加 not” 或者 “neq”
  • 小于 “lss”
  • 小于或等于 “leq”
  • 大于 “gtr”
  • 大于或等于 “geq”
实例:
@echo off
set name="xie shuai"
set  num=5
if %name%=="xie shuai" (
	echo yes
)
if not %name%=="hello" (
	echo 不等于hello	
)

if %num% lss 6 (
	echo 小于6
)
if %num% gtr 4 (
	echo 大于4
)

if %num% leq 5 (
	echo 小于等于5
)

if %num% geq 5 (
	echo 大于等于5
)

if %num% equ 5 (
	echo 等于5
)

if %num% neq 8 (
	echo 不等于8
)
pause

条件执行

  • command1 && command2
如果command1为真,则执行command2
  • command1 & command2
执行完command1后就执行command2
  • command1 || command2
在command1失败时执行command2

上面的命令执行是否成功看%ERRORLEVEL%是否等于0

实例:
@echo off
set num1=1
set num2=2
dir o: && set num2=3
echo %num2%
dir c: && set num2=3
echo %num2%

dir o: & set num2=4
echo %num2%

dir c: || set num2=5
echo %num2%

dir o: || set num2=5
echo %num2%

pause

条件判断 and or 的实现

and 实例:
@echo off
set num1=1
set num2=2
if %num1%==1 if %num2% ==2 (
	echo hello
)
pause
or 实例
@echo off
set num1=2
set num2=4
if %num1%==1 goto end
if %num2%==3 goto end
goto :eof 
:end
echo hi
pause

if的经典应用场景

判断变量是否定义:
@echo off
set num1=""
if defined num1 (
	echo num1 is defined!
)
set num2=
if defined num2 (
	echo num2 is defined!
)

set num3
if defined num3 (
	echo num3 is defined!
)
pause
看来批处理中看一个变量是否定义,就是看这个变量是否被赋一个非空值
判断变量是否为空:
@echo off
set num1=
if "%num1%"=="" (
	echo num1 is null!
)
set num2=""
if "%num2%"=="" (
	echo num2 is null!
)

set num3=""
if "%num3%"=="""" (
	echo num3 is not null,contains ""!
)
pause

For循环语句

在cmd中
for %循环变量 in (集合) do command
在批处理中
for %%循环变量 in (集合) do command
for %%循环变量 in (集合) do (
	commands
)
注意循环变量是26个大小写字母中的一个,区分大小写,我们平常的批处理中设置的set变量是不区分大小写的。另外"(“不能换行 而且和do之间得有空格。”()"中集合的数可以用空格,tab,逗号,分号,等号分隔。
实用实例:下面这些列不出隐藏属性的文件
@echo off
for %%I in (*.*) do (
	echo %%I
)
echo ——————————
for %%I in (*.bat) do (
	echo %%I
)
echo ——————————
for %%I in (????.*) do (
	echo %%I
)
echo ——————————
pause

For 带命令参数的几种形式

For /f 解析文件内容,它的几种形式:

for /f %%i in (文件名) do (commands)
for /f %%i in ('命令语句') do (commands)
for /f %%i in ("字符串") do (commands)

当文件名中有空格时就需要使用usebackq选项

for /f "usebackq" %%i in ("文件名") do (commands)
for /f "usebackq" %%i in (`命令语句`) do (commands)
for /f "usebackq" %%i in ('字符串') do (commands)

For /f 分割参数,分割文件中的每行文本 或者 目标字符串

使用"delims= " 将目标分成几部分

比如"delims=,. " 将目标用",“或”."分成几部分

再用"tokens=" 选择分割的第几部分

比如"tokens=1,3,4-6" 选择第1,3,4,5,6部分。

如何接收呢?

比如循环变量中是%%a,那么后面的几部分依次就是%%b,%%c,%%d…

特殊注意选择通配符*

比如"tokens=1,3,*",假设一共有5部分,那么我们接收第1部分,第3部分,第4和第5部分作为一个整体接收

解析文件时用的特殊参数

“skip=n” 跳过文件n行开始解析

“eol=字符” 忽略以字符开头的该行,默认忽略以;开头的行

实例:
有一个名为test.txt文件:
姓名,年龄,身高,体重
张三,20,170,160
王五,22,180,170
李六,25,160,150
;小谢,28,170,150
接下来是实例:
@echo off
for /f "delims=, tokens=1,3-4" %%i in (test.txt) do (
	echo %%i;%%j;%%k
)

for /f "delims=, tokens=2,*" %%i in (test.txt) do (
	echo %%i;%%j;%%k
)
echo ————————————————————
for /f "delims=, tokens=1,3-4 skip=2" %%i in (test.txt) do (
	echo %%i;%%j;%%k
)

for /f "delims== tokens=2" %%i in ("name=ceshiname") do (
	echo %%i;%%j
)
pause

For /r 递归显示文件夹

语法:
for /r 目标目录 %%i in (过滤条件) do (commands)
实例:
@echo off
for /r C:\Users\xie\Desktop\BatDev %%i in (*.txt) do (
	echo %%i
)
pause

For /d 显示当前目录下的所有一级目录

实例:
@echo off
for /d %%i in (*.*) do (
	echo %%i
)
pause

For /l 使用数值控制循环

语法:
for /l %%i in (start,stepm,end) do (commands)
实例:
@echo off
for /l %%i in (1,2,10) do (
	echo %%i
)
pause
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

文件为doc版,可自行转成txt,在手机上看挺好的。 本资源来自网络,如有纰漏还请告知,如觉得还不错,请留言告知后来人,谢谢!!!!! 入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不开使用系统提供的命令。要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令,按照它们在系统中的作用分成下面六个部分一一介绍。 ◆ 安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; ◆ 文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆ 系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆ 网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。 本文以Mandrake Linux 9.1(Kenrel 2.4.21)为例,介绍Linux下的安装和登录命令。 immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 -------------------------------------------------------------------------------- Linux必学的60个命令(1)-安装与登陆命令 login 1.作用 login的作用是登录系统,它的使用权限是所有用户。 2.格式 login [name][-p ][-h 主机名称] 3.主要参数 -p:通知login保持现在的环境参数。 -h:用来向远程登录的之间传输用户名。 如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。 一般界面是这样的: Manddrake Linux release 9.1(Bamboo) for i586 renrel 2.4.21-0.13mdk on i686 / tty1 localhost login:root password: 上面代码中,第一行是Linux发行版本号,第二行是内核版本号和登录的虚拟控制台,我们在第三行输入登录名,按“Enter”键在Password后输入账户密码,即可登录系统。出于安全考虑,输入账户密码时字符不会在屏幕上回显,光标也不移动。 登录后会看到下面这个界面(以超级用户为例): [root@localhost root]# last login:Tue ,Nov 18 10:00:55 on vc/1 上面显示的是登录星期、月、日、时间和使用的虚拟控制台。 4.应用技巧 Linux 是一个真正的多用户操作系统,可以同时接受多个用户登录,还允许一个用户进行多次登录。这是因为Linux和许多版本的Unix一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台(系统的控制台是与系统直接相连的监视器和键盘)进行多次登录。每个虚拟控制台可以看作是一个独立的工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下Alt键和一个功能键来实现,通常使用F1-F6 。 例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+ F1”键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用“Alt+F1”到“Alt+F6”键来访问前六个虚拟控制台。虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。 shutdown 1.作用 shutdown命令的作用是关闭计算机,它的使用权限是超级用户。 2.格式 shutdown [-h][-i][-k][-m][-t] 3.重要参数 -t:在改变到其它运行级别之前,
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值