WINDOWS脚本入门1-变量

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

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

个人博客:http://muyunsoft.com

基本命令

我对批处理的第一印象是新建一个记事本写几条cmd命令,然后改成bat后缀就可以直接运行。那么我们平常在cmd里输入命令时是怎样的呢?输入命令时是:

可以看到我们输入命令的时候也会显示出来,那么在批处理中每行的命令也是这样的,在执行前都会显示出命令,如果我们只想显示执行结果而不显示命令本身需要

@不想回显的命令

@只是作用这一条命令,如果想后面的命令都不想回显命令本身:

echo off

一般我们也不想这条命令回显,那么在这条命令加上@:

@echo off

如果想开启回显:

@echo on

暂停等待键盘响应:

pause

有上边的这些命令我们可以先输出一个hello world了:

@echo off
echo hello world
pause

接下来是一些不常用的命令,显示当前行的回显状态:

echo

这条命令会显示”ECHO 处于关闭状态”或”ECHO 处于开启状态”。有时候我们输出一个变量的值,如果这个变量为空,也会得到这个提示。

输出一个空行,相当于一个回车:

echo.

注意echo和.之间不能有空格。

变量

设置新变量,给变量赋值:

set 变量名=变量名

例子: set money=10000

变量名的命名规则是:不能以数字开头,以字母或者下划线开头,且不区分大小写。

获取变量值:

%变量名%

例子:%money%

从键盘获值赋值给变量:

set /p 变量名=要显示的提示信息

例子:set /p money=请输入您想存钱的金额:

现在举个例子,同学们可以试着运行下:

@echo off
set money=1000
echo 初始金额:%money%
set /p money=你现在有多少钱:
echo 现在的金额:%money%
pause

现在我们想存入一部分钱:

@echo off
set money=1000
set money=%money%+100000
pause

但是这样会输出

1000+100000

对批处理不了解的同学可能会觉得很费解,我们不是想让这两个值想加么,怎么是这个结果,这是因为set 变量=值,这里值默认都按字符串处理。而批处理中字符串的拼接基本上就是两个字符串无缝放到一块就好。比如变量%money%和变量%owner%拼接的话:

%owner%拥有金额%money%

如果我们想让set =后面处理成表达式的话:

set /a money=%money%+100000

这样就会按数学表达式处理相加了。批处理中其他表达式是:

  • () :分组 
  • ! ~ : 一元运算符  
  • * / % + – :算数运算符  
  • << >> : 逻辑移位  
  • & : 按位“与”  
  • ^ : 按位“异”  
  • | : 按位“或”  
  • = *= /= %= += -= &= ^= |= <<= >>= : 赋值 
  • , :表达式分隔符  

表达式中的”与”,”或”,”异或”运算符,我们需要用双引号引起来 。比如:

@echo off
set /a b=3 "&" 4
echo %b%  
set /a c=3 "|" 4
echo %c%
set /a d=5 "^" 4
echo %d%
set /a e=5 %% 3
echo %e%
set /a f=5/3
echo %f%
pause

注意有几个特殊的变量,%0,%1,%2,%3 . . . %9,%*

%0指的是自身批处理脚本的意思,他指当前批处理所在全路径。它有一个有意思的使用方式:

@echo off
set /a sum+=1
echo %sum%
pause
%0

自己调用自己导致无限循环!从而重复执行%0上边的语句。

%1,%2 … %9 是批处理脚本的参数,%*是一次输出所有参数。

  • 0
    点赞
  • 0
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值