我是批处理脚本(用于Windows(的新手,因此我正在阅读有关它的教程。教程状态
警告:设置将始终覆盖(clobber( 变量。。验证您在编写脚本时不会覆盖系统范围的变量是一个好主意...例如,命名变量可能很诱人 "温度",但这将改变广泛使用的"%temp%"的含义 环境变量。
但是,本教程并未涉及这样做的后果。如果我编写一个简单地覆盖这些系统范围的变量之一的批处理文件会发生什么,它只能更改脚本范围中的变量?如果我将其直接输入命令行呢?
通常,我只会运行它,看看会发生什么,但是我不想意外地覆盖重要的事情。
set
仅在cmd.exe的实例中覆盖变量(并且从此实例开始(,它不会影响其他控制台窗口(新或现有(,并且所有这些变量更改均为关闭控制台窗口时丢失。
您还可以使用setlocal
进行 set
更改范围范围范围:
@echo off
set global=Hello
setlocal
set private=world
可以使用setx
资源套件实用程序进行持续更改。