Se as extensões de comando estiverem ativadas, SET será alterado como a seguir: O comando SET chamado com apenas um nome ...

Se as extensões de comando estiverem ativadas, SET será alterado como a seguir:  O comando SET chamado com apenas um nome de variável, nenhum sinal de igual ou valor exibirá o valor de todas as variáveis cujo prefixo corresponda ao nome fornecido ao comando SET. Por exemplo:      SET P  exibiria todas as variáveis começando com a letra 'P'  O comando SET definirá o ERRORLEVEL como 1 se o nome da variável não for encontrado no ambiente atual.  O comando SET não permitirá que um sinal de igual seja parte do nome de uma variável.  Duas novas opções foram adicionadas ao comando SET:      SET /A expressão     SET /P variável=[cadeia_do_prompt]  A opção /A especifica que a cadeia de caracteres à direita do sinal de igual é uma expressão numérica que é avaliada. O avaliador da expressão é muito simples e dá suporte às seguintes operações, em ordem decrescente de precedência:      ()                  - agrupamento     ! ~ -               - operadores unários     * / %%               - operadores aritméticos     + -                 - operadores aritméticos     << >>               - alternância lógica                        - bit a bit E     ^                   - bit a bit exclusivo OU     |                   - bit a bit OU     = *= /= %%= += -=    - atribuição       &= ^= |= <<= >>=     ,                   - separador de expressões  Se você usar qualquer um dos operadores lógicos ou de módulo, precisará colocar a cadeia de caracteres da expressão entre aspas. Qualquer cadeia de caracteres não numérica na expressão é tratada como nomes de variável de ambiente cujos valores são convertidos para números antes de serem usados. Se um nome de variável de ambiente for especificado, mas não estiver definido no ambiente atual, será usado um valor de zero. Isso permite fazer aritmética com valores de variáveis de ambiente, sem ter de digitar todos esses sinais de %% para obter os valores. Se SET /A for executado a partir da linha de comando fora de um script de comando, ele exibirá o valor final da expressão. O operador de atribuição requer um nome de variável de ambiente à sua esquerda. Os valores numéricos são valores decimais, a menos que sejam antecedidos por 0x para números hexadecimais e 0 para números octais. Portanto, 0x12 é o mesmo que 18 e o mesmo que 022. Observe que a notação octal pode causar confusão: 08 e 09 não são números válidos porque 8 e 9 não são dígitos octais válidos.