作者 APPLBA [mozhac@gmail.com] 目录 批处理进阶之变量和参数 第一节 基本概念 1、数据类型 2、常量和变量 3、参数和参数变量 第二节 变量的分类 1、环境变量 2、参数变量 3、迭代变量 第三节 SET 命令详细用法 1、显示、设置或删除环境变量 2、/P 交互模式开关与菜单设计 3、/A 数学开关与简单数学计算 第四节 增强的变量引用 1、增强的环境变量引用 2、增强的参数变量/循环变量引用 第五节 参数传递和漂移 1、参数传递 2、参数漂移 第六节 变量的局部化 1、SETLOCAL 和 ENDLOCAL 2、环境变量延迟扩展 作者 APPLBA [mozhac@gmail.com] ====================================================================== 第一节 基本概念 本节内容推荐有一定的批处理基础或者编程基础的人看。 1 数据类型 任何程序都是由指令和数据组成的,类推到批处理上面就是命令和数据了。 数据有类型之分,不同类型的数据在计算机内部的存储方式,取值范围和支持的运算都是不同的。 从目前来看,批处理涉及的数据类型有两种:字符串类型、数字类型。 字符串类型:任意数量的字符,可以用双引号来界定一个字符串,这在很多语言里面是通用的。 例子: s、doom "12.3+78" "TRUE LOVE"。 字符串类型可以进行字符运算,例如替换、合并等。 数字类型:批处理支持数字类型为整数。 例如 60、312 等。 数字类型可以进行数学计算,而数字形式的字符串是不能直接进行数学计算的。 批处理是一种“弱类型”的脚本语言。它的数据类型极少,而且对数据类型的界定也很模糊。目前批处理已经实现数据类型的自动化处理,即在需要时可以自动转化数据类型,而这个转换过程用户是感觉不到的。用户完全不必理会数据的类型或者数据类型是否需要转化,或者我们可以简单理解为批处理只有一种数据类型——字符串类型。其实这是脚本类语言的共同特点,“弱类型”大大简化了脚本代码。 2 常量和变量 借用其他高级编程语言的概念,来分析一下批处理里面的常量和变量…… 根据运行时存储位置所存储的值能否被改变,我们可以把数据可以分为常量(数据)和变量(数据)。 常量是系统内置的或用户预定义的,在执行过程中其值是明确而唯一的,不能被改变。例如,"hello"等字符(串)都是系统内置常量,可以直接使用,不一定需要标识符。批处理里面的常量概念很弱,也没有相关的操作命令支持自定义常量,因此可以不理会常量。 变量也...