批处理脚本 - 变量

你好,未来的程序员们!今天,我们将深入批处理脚本变量的精彩世界。作为你友好的计算机老师邻居,我将引导你一步一个脚印地走过这段旅程。如果你之前从未编程过,不用担心——我们将从最基础开始,逐步提升。所以,拿起你最喜欢的饮料,让我们开始吧!

Batch Script - Variables

变量是什么?

在我们具体探讨批处理脚本的变量之前,让我们先了解一下变量通常是什么。可以把变量想象成存放信息的容器。就像你可能会用一个盒子来存放你最喜欢的玩具一样,我们在程序中使用变量来存储数据。

命令行参数

让我们从一个有趣的话题开始——命令行参数!这些就像是我们运行批处理脚本时发送给脚本的小消息。

示例 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%

这个脚本演示了局部变量只在其代码块内可访问(在 setlocalendlocal 之间),而全局变量可以在任何地方访问。

使用环境变量

环境变量是特殊的变量,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