Si las extensiones de comando están habilitadas, SETLOCAL cambia así: Ahora el comando por lotes SETLOCAL acepta argumentos ...

Si las extensiones de comando están habilitadas, SETLOCAL cambia así:

Ahora el comando por lotes SETLOCAL acepta argumentos opcionales:
        ENABLEEXTENSIONS / DISABLEEXTENSIONS
            Habilita o deshabilita las extensiones del procesador de comandos.
            Estos argumentos tienen prioridad sobre los modificadores CMD E:ON
            o /E:OFF. Vea CMD /? para obtener más detalles.
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
            Habilita o deshabilita la expansión de variables de entorno
            retardada. Estos argumentos tienen prioridad sobre los
            modificadores CMD /V:ON o /V:OFF. Vea CMD /? para obtener más
            detalles.
Estas modificaciones duran hasta que coincida el comando ENDLOCAL,
independientemente de su configuración anterior para el comando SETLOCAL.

El comando SETLOCAL establecerá el valor de ERRORLEVEL si se diera un
argumento. Será cero si se da uno de los dos argumentos válidos y el otro no.
Puede usar esto en los scripts por lotes para determinar si las extensiones
están disponibles con la siguiente técnica:

    VERIFY OTHER 2>null
    SETLOCAL ENABLEEXTENSIONS
    IF ERRORLEVEL 1 echo No puede habilitar las extensiones

Esto funciona porque, en las versiones anteriores de CMD.EXE, SETLOCAL
NO establecía el valor de ERRORLEVEL. El comando VERIFY con un argumento
erróneo inicializa el valor de ERROLEVEL a un valor distinto de cero.
Si las extensiones de comando están habilitadas, SETLOCAL cambia así:

Ahora el comando por lotes SETLOCAL acepta argumentos opcionales:
        ENABLEEXTENSIONS / DISABLEEXTENSIONS
            Habilita o deshabilita las extensiones del procesador de comandos.
            Estos argumentos tienen prioridad sobre los modificadores CMD E:ON
            o /E:OFF. Vea CMD /? para obtener más detalles.
        ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
            Habilita o deshabilita la expansión de variables de entorno
            retrasada. Estos argumentos tienen prioridad sobre los
            modificadores CMD /V:ON o /V:OFF. Vea CMD /? para obtener más
            detalles.
Estas modificaciones duran hasta que coincida el comando ENDLOCAL,
independientemente de su configuración anterior para el comando SETLOCAL.

El comando SETLOCAL establecerá el valor de ERRORLEVEL si se diera un
argumento. Será cero si se da uno de los dos argumentos válidos y el otro no.
Puede usar esto en los scripts por lotes para determinar si las extensiones
están disponibles con la siguiente técnica:

    VERIFY OTHER 2>null
    SETLOCAL ENABLEEXTENSIONS
    IF ERRORLEVEL 1 echo No puede habilitar las extensiones

Esto funciona porque, en las versiones anteriores de CMD.EXE, SETLOCAL
NO establecía el valor de ERRORLEVEL. El comando VERIFY con un argumento
erróneo inicializa el valor de ERROLEVEL a un valor distinto de cero.