[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 LTSC1809 于 2023-10-5 23:12 编辑

第2章:变量
变量是批处理中极为重要的一个部分。如果连变量都不能正确的使用,那你大概率没有办法使用批处理的大部分强大功能。
变量,你可以理解为一个存储数据的容器。cmd中使用set命令来操作变量。如:set a=test意为 将test这串字符放到一个叫a的变量里
批处理中读取变量使用%变量名%,两个百分号括着变量名这样的方式来实现。变量名可以是一个或多个字母,可以包含数字,但不能包含中文。
如:
@echo off
set a=test
echo %a%
pause
结果屏幕上会显示出test这串字符。
抛去之前讲过的第一行和最后一行不谈,我们来看看这段代码。
首先set a=test 把test这串字符存进一个叫a的变量。
echo %a% 读取变量的方式是%变量名%,这一语句的意思也就是显示叫做a的变量存储的内容。
所以,得到输出test。
而set语句还有许多变种,使用不同的开关来实现。
什么?你问开关是什么意思?
开关,在批处理中指命令后面加上的一些调整这条命令功能的字符。开关可以以 命令/开关名 的方式来使用。(也可以是使用-代替/,但是这样做则必须要在命令和开关名之间加上一个空格。使用/的情况下你也可以加上空格,这也不是错误的。)一个命令可以有许多个开关,如果你使用了-来调用开关,你需要在每个开关之间也加上空格,如果使用/则不需要,直接连着输入就行(同理加上也不是不对)
set命令的常用开关有:
/p
/a
另外,所有命令加上开关/?然后直接回车,不输入任何其他内容,则会输出这个命令的详细用法。但是有大量英文内容且不是很容易看懂。但它是官方帮助,内容比你在百度上找的绝对要靠谱,读懂了的话它是非常好的帮助。当你遇到问题时,可以先尝试一下这个操作。有时很有用。

/p开关的作用为接受用户输入。例子:
set /p a=请输入:
什么意思呢?我们来运行看看。
运行后,会显示“请输入:”这四个字,你此时可以输入内容。输入完内容,按下回车,你刚刚输入的内容就会被存到叫做a的变量里面。
这很有用,交互功能是非常重要的。

/a开关的作用为计算数值。例子:
set /a c=114+514
然后echo %c%
结果显示了628,也就是114+514的结果。
把等号后面的算式结果存到等号前面的变量里面。此处变量名为c。
这个命令也可以计算变量。比如
set a=114
set b=514
set /a c=a+b
echo %c%
显示内容还是628。
set命令中如果需要调用其他变量(此处的a和b),不需要加上双百分号。

请记住一定要自己去实际建立一个bat文件尝试一下。光看是永远学不会的。如果你不会改文件扩展名,请使用搜索引擎来获得帮助。如有报错或闪退等情况,仔细检查你的命令语法是否有问题。
一个六年级小学生,请多指教

TOP

第1章:基本结构和语法
前言中提到,批处理文件即多条命令的集合。那么,学习批处理,也就是学习这些命令的语法。
那么,首先来看一个批处理程序:
  1. @echo off
  2. echo test
  3. pause
复制代码
看不懂?没关系,我来解释。

第一行: @echo off
echo off:意为关闭回显。回显是什么呢?打开一个CMD窗口,你会看到一些内容,包括当前路径等等,并让你输入命令。就像这样:
C:\Users\Administrator\>
输入一条命令,按下回车,命令被执行,返回的内容被显示在CMD窗口里。而这个C:\Users\Administrator\>就是回显。如果你不关闭回显,那么批处理文件中的每一行运行都会显示出"C:\Users\Administrator\>命令"
这样显然不美观,阅读也不方便。而输入echo off后,则不再有这个提示,直接输出命令执行结果到屏幕上。
至于@符号的作用,即关闭当前行的回显。因为echo off这行后面的内容才会被关闭回显,而这行本身还是会出现这种回显信息,还要使用@符号来让这行也不要显示。

第二行:echo test
echo就是一个命令。它有两个作用,第一个就是刚刚提到的echo off/on来开关回显,另一种就是输出信息。用法是echo 文本。所以这一行的作用就是在cmd窗口内显示test这四个字符。

第三行:pause
pause也是一个命令。作用是当执行到这一行,暂时不继续执行下一行,而是在窗口内显示“请按任意键继续...”等待用户按下键盘上的任意按键,按下后继续执行下一行命令。在这个程序中,由于pause的下一行没有指令了,所以运行完pause cmd检测不到指令就会直接退出。
这里如果不加pause,那么执行完上一行就会检测不到下一行有指令而立刻退出,导致闪退,我们也还没来得及看到显示内容 程序就直接退出了。

请记住一定要自己去实际建立一个bat文件尝试一下。光看是永远学不会的。如果你不会改文件扩展名,请使用搜索引擎来获得帮助。如有报错或闪退等情况,仔细检查你的命令语法是否有问题。
一个六年级小学生,请多指教

TOP

返回列表