批处理脚本 - 变量
你好,未来的程序员们!今天,我们将深入批处理脚本变量的精彩世界。作为你友好的计算机老师邻居,我将引导你一步一个脚印地走过这段旅程。如果你之前从未编程过,不用担心——我们将从最基础开始,逐步提升。所以,拿起你最喜欢的饮料,让我们开始吧!
变量是什么?
在我们具体探讨批处理脚本的变量之前,让我们先了解一下变量通常是什么。可以把变量想象成存放信息的容器。就像你可能会用一个盒子来存放你最喜欢的玩具一样,我们在程序中使用变量来存储数据。
命令行参数
让我们从一个有趣的话题开始——命令行参数!这些就像是我们运行批处理脚本时发送给脚本的小消息。
示例 1:你好,名字!
@echo off
echo Hello, %1!
将这个保存为 greet.bat
并像这样运行:greet.bat John
这里发生了什么?我们脚本中的 %1
被我们提供的第一个参数(在这个例子中是 "John")替换。所以,脚本会说 "Hello, John!"
示例 2:多个参数
@echo off
echo 第一个参数: %1
echo 第二个参数: %2
echo 第三个参数: %3
将这个保存为 args.bat
并像这样运行:args.bat apple banana cherry
这个脚本将显示:
第一个参数: apple
第二个参数: banana
第三个参数: cherry
每个 %n
(其中 n 是一个数字)代表按顺序提供的参数。
set 命令
set
命令是我们创建批处理脚本变量的魔法棒。让我们看看它是如何工作的!
示例 3:创建一个简单变量
@echo off
set message=Hello, World!
echo %message%
当你运行这个脚本时,它会显示 "Hello, World!"。set
命令创建了一个名为 message
的变量并赋予了它 "Hello, World!" 的值。我们使用 %message%
来显示其内容。
示例 4:用户输入
@echo off
set /p name=你的名字是什么?
echo 很高兴见到你,%name%!
set
命令的 /p
标志允许我们提示用户输入。这个脚本询问用户的名字,然后向他们打招呼。
使用数值
批处理脚本也可以处理数字!让我们探索一些数学运算。
示例 5:基本算术
@echo off
set /a result=5+3
echo 5 + 3 = %result%
set /a result=10-4
echo 10 - 4 = %result%
set /a result=6*2
echo 6 * 2 = %result%
set /a result=15/3
echo 15 / 3 = %result%
/a
标志告诉 set
我们正在处理算术。这个脚本演示了加法、减法、乘法和除法。
示例 6:更复杂的计算
@echo off
set /a result=(10+5)*2
echo (10 + 5) * 2 = %result%
set /a result=20%%3
echo 20 %% 3 = %result%
在这里,我们使用括号来表示运算顺序,使用 %%
来表示取模(除法的余数)。
局部变量与全局变量
在批处理脚本中,变量通常是全局的,这意味着它们在整个脚本中都可以访问。然而,我们可以在代码块中创建局部变量。
示例 7:全局变量与局部变量
@echo off
set global_var=我是全局的!
setlocal
set local_var=我是局部的!
echo 在代码块内:%local_var%
echo 全局变量:%global_var%
endlocal
echo 在代码块外:%local_var%
echo 全局变量:%global_var%
这个脚本演示了局部变量只在其代码块内可访问(在 setlocal
和 endlocal
之间),而全局变量可以在任何地方访问。
使用环境变量
环境变量是特殊的变量,Windows 使用它们来存储系统范围内的信息。
示例 8:显示环境变量
@echo off
echo 你的用户名是:%USERNAME%
echo 你的主目录是:%USERPROFILE%
echo 当前日期是:%DATE%
echo 当前时间是:%TIME%
这个脚本显示了一些常见环境变量。Windows 提供了许多这样的变量供我们使用。
示例 9:创建自定义环境变量
@echo off
setx MY_CUSTOM_VAR "来自环境的信息!"
echo %MY_CUSTOM_VAR%
setx
命令创建了一个永久的环境变量。注意,你可能需要打开一个新的命令提示符才能看到变化。
结论
恭喜你!你已经迈出了进入批处理脚本变量世界的第一步。记住,熟能生巧,所以不要害怕用这些示例做实验并创建你自己的脚本。
以下是我们在本教程中学到的命令的快速参考表:
命令 | 描述 |
---|---|
%n |
访问命令行参数 |
set |
创建或修改变量 |
set /p |
使用用户输入创建变量 |
set /a |
执行算术运算 |
setlocal |
开始一个局部变量代码块 |
endlocal |
结束一个局部变量代码块 |
setx |
创建环境变量 |
快乐编程,愿你的变量总是定义良好!
Credits: Image by storyset