ENDLOCAL: 结束批文件中环境更改的本地化。


... 命令"ENDLOCAL"的示例
... "ENDLOCAL" 摘自 Microsoft Windows 帮助
... 重要信息,"ENDLOCAL"命令的提示

命令: "ENDLOCAL" 开启 Windows 11, 10, .. 可用

命令"ENDLOCAL"的示例

`ENDLOCAL`命令在 Windows 命令提示符中用于终止与`SETLOCAL`命令已启动。这里有些例子: 示例 1:启动和停止本地环境:

@ECHO OFF
SETLOCAL
SET Name=John
ECHO 在当地环境内: %Name%
ENDLOCAL
ECHO 本地区域之外: %Name%

描述:此示例启动本地环境`SETLOCAL`,定义一个局部变量(`Name`),打印本地环境内部和外部的值,然后退出本地环境`ENDLOCAL`示例 2:在循环中使用 ENDLOCAL:

@ECHO OFF
FOR /L %%A IN (1, 1, 3) DO (
    SETLOCAL
    SET Counter=%%A
    ECHO 在循环内部: %Counter%
    ENDLOCAL
)
ECHO 循环外: %Counter%

描述:这里是`SETLOCAL`在循环中使用来创建本地环境。`ENDLOCAL`然后在每次循环迭代结束时终止本地环境。 示例3:具有返回值的本地环境:

@ECHO OFF
CALL :LocalFunction
ECHO 功能失效: %ReturnValue%
GOTO :EOF

:LocalFunction
SETLOCAL
SET ReturnValue=这是一个返回值
ENDLOCAL & SET ReturnValue=%ReturnValue%
GOTO :EOF

描述:一个函数(`:LocalFunction`) 使用本地环境创建`SETLOCAL`开始并与`ENDLOCAL`已结束。返回值在函数外部使用。 示例 4:在批处理文件中使用 ENDLOCAL:

@ECHO OFF
CALL :Start
ECHO 功能失效: %GlobalVariable%
GOTO :EOF

:Start
SETLOCAL
SET GlobalVariable=这是一个 globale Variable
CALL :InnerFunction
ENDLOCAL & SET GlobalVariable=%GlobalVariable%
GOTO :EOF

:InnerFunction
SET LocalVariable=这是本地的 Variable
ECHO 函数内部: %LocalVariable%
GOTO :EOF

描述:这里是`SETLOCAL`在主函数中(`:Start`)用于创建本地环境。在此函数中,有一个子函数 (`:InnerFunction`)打电话。`ENDLOCAL`在main函数中用于退出本地环境,同时更新全局变量的值。 这`ENDLOCAL`语句终止本地环境并将环境变量重置为之前的值`SETLOCAL`-命令。如果你想使用本地环境之外的环境变量,你应该直接这样做`ENDLOCAL`做。请注意,局部变量在其本地环境之外不可用。

"ENDLOCAL" 摘自 Microsoft Windows 帮助

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\WINDOWS>

结束批处理文件中环境改动的本地化操作。在执行ENDLOCAL 之后
所做的环境改动不再仅限于批处理文件。批处理文件结束后,
原先的设置无法还原。

ENDLOCAL

如果命令扩展名被启用,ENDLOCAL 会如下改变:

如果相应的 SETLOCAL 用新的 ENABLEEXTENSIONS 或
DISABLEEXTENSIONS 选项启用或停用了命令扩展名,那么,在 
ENDLOCAL 之后,命令扩展名的启用/停用状态会还原到执行
相应的 SETLOCAL 命令前的状态。

重要信息,"ENDLOCAL"命令的提示

当使用`ENDLOCAL`Windows命令提示符中的命令,有几个要点需要注意: 1. 局部变量: `ENDLOCAL`终止本地环境,并且在该环境中创建的所有本地变量都将被丢弃。这些变量是根据`ENDLOCAL`在本地化环境之外不再可用。 2. 返回值:如果您想使用此之外的本地环境中的值,则必须在返回值之后立即执行此操作`ENDLOCAL`-执行命令。例子:

SETLOCAL
SET LocalVar=你好
ENDLOCAL & SET OutsideVar=%LocalVar%

3. 嵌套`SETLOCAL`/`ENDLOCAL`如果你`SETLOCAL`在批处理文件中多次使用,每次都应该`SETLOCAL`从相应的一个`ENDLOCAL`被跟随。每个`ENDLOCAL`结束最接近的一个`SETLOCAL`-操作说明。 4. 变量继承:在本地环境中创建的变量不会继承到父环境。本地环境通常仅对当前批处理可见。 5. 执行顺序: `ENDLOCAL`按照以下顺序执行`SETLOCAL`被称为。这意味着最后一个本地化环境优先`ENDLOCAL`已结束。 6. 批处理文件和函数:在批处理文件中,函数中经常使用本地化环境。当你退出一个函数时,`ENDLOCAL`除非使用该功能,否则执行`GOTO :EOF`或者`EXIT /B`离开。在这种情况下,建议手动输入`ENDLOCAL`加上。 7. 在循环中使用:如果您`SETLOCAL`在循环中,每次运行循环时都会创建一个新的本地环境。确保您`ENDLOCAL`正确地确保局部变量根据需要被释放。

FOR /L %%A IN (1, 1, 3) DO (
    SETLOCAL
    SET LocalVar=你好
    ECHO %LocalVar%
    ENDLOCAL
)

8. 流程资源:的使用`SETLOCAL``ENDLOCAL`可以帮助节省进程资源,特别是当在批处理文件中定义和使用许多变量时。将变量的范围限制在代码的特定部分可以更有效地使用内存资源。 总结来说,很重要的是`SETLOCAL``ENDLOCAL`谨慎使用,以确保正确处理变量并正确管理本地环境。这在复杂的批处理脚本或函数中尤其重要。


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



指挥 ENDLOCAL - 结束批文件中环境更改的本地化。

HTTP: ... console/cn/026.htm
0.093
17095

Windows 10 / 11 and the Media-Payer 12!

Update thumbnails in Windows 11 or 10 Explorer!

Switch to the classic Windows Defender under Windows 10!

Activate Ransomware Protector on Windows 10 for Free!

Windows 10 or 11 version and build number on the desktop!

What is an admin mode on Windows 11, 10, ...!



(0)